asp:Repeater嵌套调用子级Repeater获取父级Repeater值

 2114浏览

对于asp:Repeater的嵌套调用,可以看下:asp:Repeater嵌套调用提示上下文不存在这篇文章。 实际开发中,我们可能还需要在嵌套的Repeater中获取最外层也就是父级Repeater的值,比如他的id,那么如何获取父级Repeater绑定项中的值呢? Repeater嵌套的结构如下

<asp:Repeater ID="rptNav" runat="server" OnItemDataBound="rptNav_ItemDataBound">
<ItemTemplate>
<li><a href="#"><%#DataBinder.Eval(Container.DataItem,"title")%><b></b></a>
<asp:Repeater runat="server" ID="rptNavSub" >
<HeaderTemplate><ul class="subnav"></HeaderTemplate>
<ItemTemplate>
<li><a href="list.aspx?id=<%# ((Container.NamingContainer.NamingContainer as RepeaterItem).DataItem as System.Data.DataRowView)["id"] %>" ><%#DataBinder.Eval(Container.DataItem,"title")%></a></li>
</ItemTemplate>
<FooterTemplate></ul></FooterTemplate>
</asp:Repeater>
</li>
</ItemTemplate>
</asp:Repeater>

要获取父级Repeater绑定项中的值很简单,需要用到NamingContainer,具体用法如下

((Container.NamingContainer.NamingContainer as RepeaterItem).DataItem as System.Data.DataRowView)["id"]

流行热度:超过2114次围观
生产日期:2014-10-31 05:50:59
上次围观:2016-09-16 04:55:40
转载时必须以链接形式注明原始出处及本声明。