编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

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

对于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"]

未经允许不得转载: 技术文章 » .NET编程 » asp:Repeater嵌套调用子级Repeater获取父级Repeater值