1 //父Repeater绑定数据 2 protected void rptOrder_ItemDataBound(object sender, RepeaterItemEventArgs e) 3 { 4 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 5 { 6 // 子Repeater绑定第一条数据 7 Repeater repFirst = e.Item.FindControl("rtpOrderNum1") as Repeater;//找到里层的repeater对象 8 DataRowView rowv = (DataRowView)e.Item.DataItem;//找到分类Repeater关联的数据项 9 string orderNo = rowv["Order_No"].ToString(); //获取填充子类的orderno 10 repFirst.DataSource = BindFirstData(orderNo); 11 repFirst.DataBind(); 12 13 // 子Repeater绑定剩余数据 14 Repeater repOther = e.Item.FindControl("rtpOrderNum2") as Repeater;//找到里层的repeater对象 15 DataRowView rowvOther = (DataRowView)e.Item.DataItem;//找到分类Repeater关联的数据项 16 orderNo = rowvOther["Order_No"].ToString(); //获取填充子类的orderno 17 repOther.DataSource = BindOtherData(orderNo); 18 repOther.DataBind(); 19 } 20 }
以上为cs代码,父Repeater嵌套两个子Repeater.
1 <ul> 2 <asp:Repeater ID="rptOrder" runat="server" OnItemDataBound="rptOrder_ItemDataBound"> 3 <ItemTemplate> 4 <li> 5 <h5 class="fl"> 6 <i><a href="#" style="color: #3366cc"> 7 <%#Eval("Name")%></a></i><i style="margin-left: 30px">点餐时间:<%#Eval("Insert_Date", "{0:yyyy-MM-dd hh:mm:ss}")%></i></h5> 8 <table width="100%" border="0" cellspacing="0" cellpadding="0"> 9 <tr> 10 <td class="td-shb td-shb-top"> 11 <asp:Repeater ID="rtpOrderNum1" runat="server" ClientIDMode="Static"> 12 <ItemTemplate> 13 <dl> 14 <dt> 15 <img src="http://img.icaiban.com/Indluser/images/p8.jpg" /></dt> 16 <dd> 17 <span class="sp-shop"><a href="#"><%#Eval("prodcut_name")%></a></span><span class="red"><%#Eval("Price")%></span><span><%#Eval("Num")%></span> 18 </dd> 19 </dl> 20 </ItemTemplate> 21 </asp:Repeater> 22 </td> 23 <td rowspan='<%#Eval("ordernum")%>' class="td-money"> 24 <span class="red bold f16"> 25 商户会员<%#Eval("Discount","{0:####}")%>折 </span> 26 </td> 27 <td rowspan='<%#Eval("ordernum")%>' class="td-zht"> 28 <%#Eval("Price")%> 29 </td> 30 <td rowspan='<%#Eval("ordernum")%>' class="td-zht"> 31 <span class=" meal-blues01">待提交</span> 32 </td> 33 <td rowspan='<%#Eval("ordernum")%>' class="td-Order-note"> 34 <a href="#" class="navy-blue"><span class="btn-blues">提交餐单</span></a> <a href="#" 35 class="navy-blue">餐单详情</a> <a href="#" class="navy-blue">删除餐单</a> 36 </td> 37 </tr> 38 <asp:Repeater ID="rtpOrderNum2" runat="server" ClientIDMode="Static"> 39 <ItemTemplate> 40 <tr> 41 <td class="td-shb"> 42 <dl> 43 <dt> 44 <img src="http://img.icaiban.com/Indluser/images/p8.jpg" /></dt> 45 <dd> 46 <span class="sp-shop"><a href="#"> 47 <%#Eval("prodcut_name")%></a></span><span class="red"><%#Eval("Price")%></span><span><%#Eval("Num")%></span> 48 </dd> 49 </dl> 50 </td> 51 </tr> 52 </ItemTemplate> 53 </asp:Repeater> 54 </table> 55 </li> 56 </ItemTemplate> 57 </asp:Repeater> 58 </ul>
以上为aspx代码,主要是父Repeater添加OnItemDataBound="rptOrder_ItemDataBound"方法!