简单的问题,不知道有一个简单的答案!
因此,这里的代码:(我已经简化了很多,使其更易于阅读)
<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父中继?
我发现其实答案:
使用:
<HeaderTemplate>
<%# ((RepeaterItem)Container.Parent.Parent).DataItem %>
</HeaderTemplate>
保罗给出的解决方案并没有为我工作,但做的:
<%# DataBinder.Eval(Container.Parent.Parent, "DataItem.YourProperty")%>
这是一个古老的线程,但它似乎正确补充:
在我来说,我有2点嵌套ASPxGridView控制(DevExpress的)和Container.Parent.Parent没有工作。
要从孩子访问父的数据项,这是对我工作:
<%# DataBinder.Eval(Container.NamingContainer.NamingContainer, "DataItem.DbField")%>
如果我想要检索父转发我通常这样做的一个属性:
<%# DataBinder.Eval(((RepeaterItem)Container.Parent.Parent).DataItem, "ThePropertyName")%>
我已经使用如下。 两个中继器作为家长和Child.below我如何让孩子中继器内标识列的父值。
<%# DataBinder.Eval(((RepeaterItem)Container.Parent.Parent).DataItem, "ID") %>