Simple question, not sure there's a simple answer!
So here's the code: (I've simplified it a lot to make it easier to read)
<asp:Repeater runat="server>
<ItemTemplate>
<asp:Repeater runat="server">
<HeaderTemplate>
<h1>My header here for: <%# OuterContainer.DataItem.MyItemName %> </h1>
</HeaderTemplate>
<ItemTemplate>
My items code here
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
How, in the HeaderTemplate - can I access the DataItem in the parent repeater?
I have found the answer actually:
Use:
<HeaderTemplate>
<%# ((RepeaterItem)Container.Parent.Parent).DataItem %>
</HeaderTemplate>
Solution given by Paul didn't work for me, but this did:
<%# DataBinder.Eval(Container.Parent.Parent, "DataItem.YourProperty")%>
This is an old thread, but it seems proper to add:
In my case I have 2 nested ASPxGridView controls (DevExpress) and Container.Parent.Parent didn't work.
To access parent's data item from child, this is what worked for me:
<%# DataBinder.Eval(Container.NamingContainer.NamingContainer, "DataItem.DbField")%>
If I want to retrieve a property of a parent repeater I typically do this:
<%# DataBinder.Eval(((RepeaterItem)Container.Parent.Parent).DataItem, "ThePropertyName")%>
I have used as below. Two Repeaters act as Parent and Child.below how I get Parent value of ID Column inside Child repeater.
<%# DataBinder.Eval(((RepeaterItem)Container.Parent.Parent).DataItem, "ID") %>
来源:https://stackoverflow.com/questions/1411336/accessing-parent-data-in-nested-repeater-in-the-headertemplate