repeater三级嵌套绑定
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了repeater三级嵌套绑定相关的知识,希望对你有一定的参考价值。
<asp:Repeater ID="rpt1" runat="server" onitemdatabound="rpt1_ItemDataBound"> <HeaderTemplate> <table width=400 cellpadding=0 cellspacing=0></HeaderTemplate> <ItemTemplate><tr> <td><font color=black style="font-size: medium; color: #000000"><b><%# DataBinder.Eval(Container.DataItem,"CategoryName")%></b></font></td></tr> <tr><td align=right> <asp:Repeater ID="rpt2" runat="server"> <HeaderTemplate> <table width=360 align=center cellpadding=0 cellspacing=0> </HeaderTemplate> <ItemTemplate> <tr> <td align=left width=200 style="color: #000080; text-decoration: none; font-family: Calibri;"><font color=black>+</font><%# DataBinder.Eval(Container.DataItem,"CategoryName")%></td> <td width=80 align=center> <a href=ProductSort.aspx?type=1&id=<%# DataBinder.Eval(Container.DataItem,"ID")%>>修改</a></td> <td width=80 align=center> <a href=ProductSort.aspx?type=2&id=<%# DataBinder.Eval(Container.DataItem,"ID")%>>删除</a> </td> </tr> <tr> <td align=right colspan=3> <asp:Repeater ID="rpt3" runat="server"> <HeaderTemplate> <table width=320 align=center cellpadding=0 cellspacing=0> </HeaderTemplate> <ItemTemplate> <tr> <td align=left width=160 style="color: #000080; text-decoration: none; font-family: Calibri;"><font color=black>-</font><%# DataBinder.Eval(Container.DataItem,"CategoryName")%></td> <td width=80 align=center> <a href=ProductSort.aspx?type=1&id=<%# DataBinder.Eval(Container.DataItem,"ID")%>>修改</a> </td> <td width=80 align=center> <a href=ProductSort.aspx?type=2&id=<%# DataBinder.Eval(Container.DataItem,"ID")%>>删除</a> </td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> </td> </tr> <tr> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> </td> </tr> <td height=15px; style="border-style:none;"> </td> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater>
后台。aspx.cs
protected void rpt1_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Repeater rpt2 = (Repeater)e.Item.FindControl("rpt2"); //找到分类Repeater关联的数据项 DataRowView rowv = (DataRowView)e.Item.DataItem; rpt2.ItemDataBound += new RepeaterItemEventHandler(rpt2_ItemDataBound); //最最重要的一句 //提取分类ID cid = Convert.ToInt32(rowv["ID"]); //根据分类ID查询该分类下的产品,并绑定产品Repeater rpt2.DataSource = Pcategory.getP(cid);//数据绑定 rpt2.DataBind(); } } protected void rpt2_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Repeater rpt3 = (Repeater)e.Item.FindControl("rpt3"); //找到分类Repeater关联的数据项 DataRowView rowvv = (DataRowView)e.Item.DataItem; //提取分类ID cid2 = Convert.ToInt32(rowvv["ID"]); //根据分类ID查询该分类下的产品,并绑定产品Repeater rpt3.DataSource = getrpt3(cid, cid2);//数据绑定 rpt3.DataBind(); } }
以上是关于repeater三级嵌套绑定的主要内容,如果未能解决你的问题,请参考以下文章