PDA

View Full Version : عدم نمایش اطلاعات مربوط هر رکورد



bitcob589
پنج شنبه 07 اردیبهشت 1391, 22:50 عصر
با سلام

با استفاده از ریپیتر در نظر دارم اطلاعات هر گروه را در زیر شاخه خود نمایش دهم ولی خطا می دهد مثلا

ماشین

پیکان
پراید

شبیه مثال بالا ولی خطای زیر می دهد

DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'name'
کد به صورت زیر است

<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate><div><ul><li></HeaderTemplate>
<ItemTemplate><%# DataBinder.Eval(Container.DataItem, "name")%>
<asp:Repeater ID="Repeater2"
runat="server">
<HeaderTemplate><ul><li></HeaderTemplate>
<ItemTemplate><%# DataBinder.Eval(Container.DataItem, "nametext")%></li></ul></ItemTemplate>
</asp:Repeater>
</li></ul></div></ItemTemplate>
</asp:Repeater>
لطفا راهنمایی بفرمایید ضمنا ریپیتر با استفاده از دو جدول پر می شود

bitcob589
جمعه 08 اردیبهشت 1391, 10:07 صبح
به نظر شما اشکال کار کجا است
لطفا راهنمایی بفرمایید:ناراحت::ناراحت::نا احت::ناراحت::گریه::گریه:

jeson_park
جمعه 08 اردیبهشت 1391, 10:14 صبح
با سلام
دستور select که برای sql استفاده می کنید به چه صورت هست؟؟
احتمالا اونجا مشکل دارید
اون رو یه چک کنید ببینید توی دستور Select ستون name رو انتخاب می کنید؟؟

bitcob589
جمعه 08 اردیبهشت 1391, 10:21 صبح
ستون name در sql سلکت شده است

hamid_shrk
جمعه 08 اردیبهشت 1391, 11:22 صبح
لطفا دستور sql تون رو بذارید چون خطا بصورت واضح داره میگه ستون name وجود نداره

bitcob589
جمعه 08 اردیبهشت 1391, 11:37 صبح
کد sql به صورت زیر است


SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database.mdf;Integrated Security=True;User Instance=True");
SqlCommand com = new SqlCommand("SELECT name FROM menuul", con);
DataTable table = new DataTable();
SqlDataAdapter adp = new SqlDataAdapter(com);
adp.Fill(table);
Repeater1.DataSource = table;
Repeater1.DataBind();

bitcob589
جمعه 08 اردیبهشت 1391, 17:44 عصر
به نظر شما کدی که در پست قبل نوشته است اشتباه است و باعث خطا می شود

bftarane
جمعه 08 اردیبهشت 1391, 22:28 عصر
فيلدهاي جدول menuul رو چک کن ببين name اونجا هم دقيقاً همين هست Spelling اش.

bitcob589
جمعه 08 اردیبهشت 1391, 22:58 عصر
فيلدهاي جدول menuul رو چک کن ببين name اونجا هم دقيقاً همين هست Spelling اش.
name درون جدول یکی بود

d_derakhshani
شنبه 09 اردیبهشت 1391, 09:39 صبح
من کدت رو تست کردم هیچ ایرادی نبود. می تونی بگی دقیقا کدوم خط خطا میده؟ قاعدتا باید Repeater1.DataBind(); خطا بده.

bitcob589
شنبه 09 اردیبهشت 1391, 10:29 صبح
قسمتی که رنگ آن سبز شده است


<asp:RepeaterID="Repeater1"runat="server">
<HeaderTemplate><div><ul><li></HeaderTemplate>
<ItemTemplate><%#DataBinder.Eval(Container.DataItem, "menuname")%><asp:RepeaterID="Repeater2"
runat="server"><HeaderTemplate><ul><li></HeaderTemplate><ItemTemplate><%#DataBinder.Eval(Container.DataItem, "menutext")%></li></ul></ItemTemplate>
</asp:Repeater>
</li></ul></div></ItemTemplate>
</asp:Repeater>

bitcob589
شنبه 09 اردیبهشت 1391, 15:35 عصر
به نظر شما کدی که نوشته شده است برای مثالی شبیه زیر صحیح است

خودرو

پراید
پیکان
رنو

آیا کدی که نوشته شده برای مثالی که زده شده صحیح است

<asp:RepeaterID="Repeater1"runat="server">
<HeaderTemplate><div><ul><li></HeaderTemplate>
<ItemTemplate><%#DataBinder.Eval(Container.DataItem, "menuname")%><asp:RepeaterID="Repeater2"
runat="server"><HeaderTemplate><ul><li></HeaderTemplate><ItemTemplate><%#DataBinder.Eval(Container.DataItem, "menutext")%></li></ul></ItemTemplate>
</asp:Repeater>
</li></ul></div></ItemTemplate>
</asp:Repeater>

bftarane
شنبه 09 اردیبهشت 1391, 17:25 عصر
ببينيد شما داريد از دو ريپيتر به صورت تو در تو استفاده مي کنيد
من از کدهاي خودتون استفاده کردم و فايل زير رو (NestedRepeater)درست کردم Error اي هم نداد.
فقط از جداول خودم استفاده کردم.
تنها کاري هم که مي کنه مياد CategoryName يعني در اينجا ماشين رو در ريپيتر اولي نشون ميده

البته اين رو حذف کردم <HeaderTemplate><div><ul><li></HeaderTemplate>
و <div><ul><li> رو به قسمت ItemTemplate بردم. (اگه بدون اين تغييرات و با اين تغييرات اجرا کنيد سايت رو دليلش رو متوجه ميشيد)

حالا من نمي دونم شما کدهاتون براي نشون دادن زيرشاخه (منظورم مثلاً پرايد) چي هست.
ولي يه نمونه پيدا کردم اينم لينکش که دقيقاً کاري که شما مي خواهيد رو داره انجام ميده
http://www.c-sharpcorner.com/UploadFile/rohatash/showing-category-and-subcategory-using-nested-repeater-in-as/
که من فايل زير رو هم با کمک لينک بالا درست کردم.
(NestedRepeater2)
مي تونيد ConnectionString رو تغيير بديد و سايت رو اجرا کنيد و نتيجه رو ببينيد.


و چون خوب ما همه کدهاي شما رو نداريم توصيه مي کنم مرحله به مرحله پيش بريد شايد بتونيد مشکل رو پيدا کنيد منظورم اينه که بدون اينکه از ريپيتر دوم استفاده کنيد فقط اطلاعات رو به ريپيتر اول بايند کنيد بعد اگه مشکلي وجود نداشت بريد سراغ قسمت هاي بعد.

bitcob589
جمعه 15 اردیبهشت 1391, 10:38 صبح
با سلام
اگر بخواهیم منو به صورت کشویی نمایش دهیم به چه صورت می توان کد زیرنوشت(با css منو درست شده است )


<ul>
<asp:RepeaterID="Repeater1"runat="server"onitemdatabound="Repeater1_ItemDataBound1">

<ItemTemplate>
<li>
<%#DataBinder.Eval(Container.DataItem, "CategroryName")%>
</li>
<ul>
<asp:RepeaterID="Repeater2"runat="server">
<ItemTemplate>
<li>
<asp:HyperLinkID="HyperLink1"runat="server"NavigateUrl='<%#Eval("url")%>'><%#Eval("subcategroyname") %></asp:HyperLink>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</ItemTemplate>
</asp:Repeater>
</ul>