PDA

View Full Version : repeater های تو در تو



prazvin
چهارشنبه 18 اردیبهشت 1387, 09:37 صبح
سلام
خسته نباشید دوستان
من میخوام دو تا repeater تو در تو تعریف کنم که مثل کد زیر باشه ولی
نمی دونم این پارامتر رو به چه چیزی bind کنم.
در واقع من میخوام description من به description که در repeater1 اولی هست bind شه ولی نمیدونم چیکار کنم.


<asp:RepeaterID="reapeter1"runat="server">
<ItemTemplate>
<table>
<tr>
<td>
<ahref=""><%#DataBinder.Eval(Container.DataItem,"Description") %></a>
</td>
<td>
<asp:RepeaterID="repeater2"runat="server"DataSourceID="sqldatasource1">
<ItemTemplate>
<ahref="">DataBinder.Eval(Container.DataItem,"Description1") </a>
</ItemTemplate>
</asp:Repeater>
<asp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="<%$ ConnectionStrings:dConnectionString %>"
SelectCommand="SELECT [description1] FROM [azemayesh] WHERE ([description] = @description)">
<SelectParameters>
<asp:ParameterName="description"Type="String"/>
</SelectParameters>
</asp:SqlDataSource>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>

Alireza_Salehi
چهارشنبه 18 اردیبهشت 1387, 10:27 صبح
روش اول: خوب برای این کار معمولا پیشنهاد میکنن که از طریق کد کار کنید، به این صورت که در رویداد ItemDataBound مربوط به Repeater اول عملیات بایند کردن Repeater دوم رو انجام بدید.
این هم یک نمونه:http://www.codeproject.com/KB/aspnet/AspNetNestedRepeaters.aspx


روش دوم: ولی به طور کلی پیشنهاد من استفاده از ObjectDataSource و تعریف کلاس های مورد نیاز است.به طور خلاصه یک کلاس تعریف می کنید که یکی از Property هاش از نوع IEnumerable یا

prazvin
چهارشنبه 18 اردیبهشت 1387, 10:39 صبح
در مورد روش دوم می تونید بیشتر توضیح بدید .
خیلی ممنون