我有以下设置(裁剪):
<asp:Repeater ID="rptParent" OnItemDataBound="rptParent_ItemDataBound" runat="server">
<ItemTemplate>
<a href="#<%# DataBinder.Eval(Container.DataItem, "eventnumber" )%><%# DataBinder.Eval(Container.DataItem, "productid" )%>" class="toggle">Attendees</a>
<asp:Repeater ID="rptChild" runat="server" OnItemDataBound="rptChild_ItemDataBound">
<HeaderTemplate>
<div id='<%# DataBinder.Eval(Container.Parent.Parent, "DataItem.hiddenEventID")%>'class="attendees">
</HeaderTemplate>
<ItemTemplate>
[Stuff in here]
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
我正在尝试做的是(在rptChild中继器中)从它的父级(rptParent)获取一些数据项。我尝试过使用Container.Parent.Parent但是没有显示数据?
任何人都可以看到我做错了什么或者以任何方式提供帮助吗?
谢谢, 克雷格
答案 0 :(得分:0)
如果Parent.Parent不起作用,请尝试使用NamingContainer,例如在onitemdatabound方法中:
((RepeaterItem)e.Item.NamingContainer.NamingContainer).DataItem
或者给你一个更像你的情景的例子:
<%# DataBinder.Eval(Container.NamingContainer.NamingContainer, "DataItem.hiddenEventID")%>' class="attendees">
</HeaderTemplate>