Repeater嵌套绑定Repeater

 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"方法!

原文地址:https://www.cnblogs.com/luckyboy/p/2867617.html