在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")%>