简单的问题,不确定是否有一个简单的答案!
所以这里是代码:(我已经简化了很多,以便更容易阅读)
<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中访问父转发器中的DataItem?
答案 0 :(得分:90)
我实际上找到了答案:
使用:
<HeaderTemplate>
<%# ((RepeaterItem)Container.Parent.Parent).DataItem %>
</HeaderTemplate>
答案 1 :(得分:39)
保罗给出的解决方案对我不起作用,但确实如此:
<%# DataBinder.Eval(Container.Parent.Parent, "DataItem.YourProperty")%>
答案 2 :(得分:9)
这是一个旧线程,但似乎可以添加:
在我的情况下,我有2个嵌套的ASPxGridView控件(DevExpress),而Container.Parent.Parent不起作用。
要从子级访问父级数据项,这对我有用:
<%# DataBinder.Eval(Container.NamingContainer.NamingContainer, "DataItem.DbField")%>
答案 3 :(得分:4)
如果我想检索父转发器的属性,我通常会这样做:
<%# DataBinder.Eval(((RepeaterItem)Container.Parent.Parent).DataItem, "ThePropertyName")%>
答案 4 :(得分:0)
我使用了如下。 两个中继器充当父级和子级。下面如何获取子级中继器中ID列的父级值。
<%# DataBinder.Eval(((RepeaterItem)Container.Parent.Parent).DataItem, "ID") %>