我想在一个repeter里再去套一个repeter请问可行么`    例如` 我在外边的repeter1里展示一件类别的信息.. 点击类别时在里边第二个repeter显示多条此类下的信息..
   
   大概就是这个意思.. 我想知道这样可行么` 要去怎么赋值和取值.. 或者可以怎么解决我想实现的这个功能`     谢谢了` 知道的给个思路也好`` 

解决方案 »

  1.   

    可以,根据此行数据的id绑定内嵌repeater的数据
      

  2.   


    有时间写下大概具体实现的代码么.. 
    你意思是<asp:Repeter runat="" id="rep1">
             <Item...>
                <asp:Repeter id='rep<%# Eval("xxID")'>
                </asp:Repeter>
             </Item..>
           </asp:Repeter>
    是这个意思么` 还是怎样的`
      

  3.   


     <asp:Repeater ID="rpt_list" runat="server" 
                                    onitemdatabound="rpt_list_ItemDataBound">
                                    <ItemTemplate>
                                        <tr class='tr_color' >
                                        <td width="12%">
                                                <%# Eval("productNo")%>
                                                <input type="hidden" name="hdProid" id="hdProid" runat="server" value='<%# Eval("productId") %>' />
                                                <input type="hidden" name="hdorderid" id="hdorderid" runat="server" value='<%# Eval("orderId") %>' />
                                            &nbsp;</td>
                                            <td width="13%">
                                                <%# Eval("productName")%>
                                            </td>
                                            <td width="10%">
                                                <%# String.Format("{0:F2}", Eval("price")).ToString()%>/<%# Eval("unit")%>
                                            </td>
                                            <td width="10%">
                                                <%# Eval("quantity")%>
                                            </td>
                                            <td width="10%">
                                                <%# String.Format("{0:F2}", Eval("amount")).ToString()%>
                                            </td>
                                            <td width="55%" align="left">
                                                <%# Eval("note") %>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td colspan="6" style=" text-align:left; margin-bottom:8px;">
                                                <asp:Repeater ID="rpt_Addess" runat="server">
                                                    <HeaderTemplate>
                                                        <table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#E5E5E5">
                                                            <tr class="tr_color" style="background-color: #f3f3f3;">
                                                                <td width="20%" align="center">
                                                                    编号
                                                                </td>
                                                                <td width="50%" align="center">
                                                                    配送地址
                                                                </td>
                                                                <td align="center">
                                                                    数量
                                                                </td>
                                                            </tr>
                                                    </HeaderTemplate>
                                                    <ItemTemplate>
                                                        <tr class="list_title2" style="color:#6e6e6e;">
                                                            <td width="20%">
                                                                配送地址<%# Container.ItemIndex+1 %>:
                                                            </td>
                                                            <td width="50%">
                                                                <%# Eval("psAddress") %>
                                                            </td>
                                                            <td>
                                                                <%# Eval("quantity") %>&nbsp;<%# Eval("unit") %>
                                                            </td>
                                                        </tr>
                                                    </ItemTemplate>
                                                    <FooterTemplate>
                                                        </table></FooterTemplate>
                                                </asp:Repeater>
                                            </td>
                                        </tr>
                                    </ItemTemplate>
                                </asp:Repeater>
    cs  void RepeaterDataList(int oid)
            {
                DataTable dt = logic.orderItem.selectOrderItems_byOrderId(oid);
                if (dt.Rows.Count != 0)
                {
                    rpt_list.DataSource = dt;
                    rpt_list.DataBind();
                }
            }        protected void rpt_list_ItemDataBound(object sender, RepeaterItemEventArgs e)
            {
                if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
                {
                    int proId = 0;
                    int orId = 0;
                    HtmlInputHidden proHd = e.Item.FindControl("hdProid") as HtmlInputHidden;
                    HtmlInputHidden orderHd = e.Item.FindControl("hdorderid") as HtmlInputHidden;
                    int.TryParse(proHd.Value, out proId);
                    int.TryParse(orderHd.Value,out orId);                Repeater prt_address = e.Item.FindControl("rpt_Addess") as Repeater;                DataTable dts = logic.orderAddress.P_OrderAddressItem_ByorderidAndProductId(orId, proId);
                    if (dts.Rows.Count != 0)
                    {
                        prt_address.DataSource = dts;
                        prt_address.DataBind(); 
                    }
                   
                }
            }
      

  4.   

    先在外面的Repeater1中绑定类别信息,然后在Repeater1的ItemDataBound事件中FindControl找到Repeater2以及这一行所对应的类别ID,在根据这个类别ID把此类下的多条信息绑定到Repeater2中
      

  5.   

    repeter嵌套,当然可以啊!
    <asp:Repeater ID="Repeater1" runat="server">
                <ItemTemplate>
                    <table>
                        <tr>
                            <td>
                                <asp:Repeater ID="Repeater2" runat="server">
                                    <ItemTemplate>
                                        <table>
                                            <tr>
                                                <td>
                                                </td>
                                            </tr>
                                        </table>
                                    </ItemTemplate>
                                </asp:Repeater>
                            </td>
                        </tr>
                    </table>
                </ItemTemplate>
            </asp:Repeater>
    里面的内容再自己去控制啊