0

我有以下设置(精简):

<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 但没有显示任何数据?

谁能看到我做错了什么或以任何方式提供帮助?

谢谢,克雷格

4

1 回答 1

0

如果 Parent.Parent 不起作用,请尝试使用 NamingContainer,例如在您的 onitemdatabound 方法中:

((RepeaterItem)e.Item.NamingContainer.NamingContainer).DataItem

或者给你一个更像你的场景的例子:

<%# DataBinder.Eval(Container.NamingContainer.NamingContainer, "DataItem.hiddenEventID")%>' class="attendees">
           </HeaderTemplate>
于 2013-07-24T13:39:13.650 回答