在HeaderTemplate中访问嵌套中继器中的父数据

简单的问题,不知道有一个简单的答案!

所以这是代码:(我已经简化了很多,以便于阅读)

<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> 

如何在HeaderTemplate中 – 我可以访问父Repeater中的DataItem?

其实我find了答案:

使用:

 <HeaderTemplate> <%# ((RepeaterItem)Container.Parent.Parent).DataItem %> </HeaderTemplate> 

保罗给出的解决scheme并不适合我,但是这样做:

 <%# DataBinder.Eval(Container.Parent.Parent, "DataItem.YourProperty")%> 

这是一个古老的线程,但似乎适当添加:

在我的情况下,我有两个嵌套的ASPxGridView控件(DevExpress)和Container.Parent.Parent不起作用。

要从小孩访问父母的数据项,这是对我有用:

 <%# DataBinder.Eval(Container.NamingContainer.NamingContainer, "DataItem.DbField")%> 

如果我想检索一个父转发器的属性,我通常这样做:

 <%# DataBinder.Eval(((RepeaterItem)Container.Parent.Parent).DataItem, "ThePropertyName")%>