在嵌套中继器访问父数据,在HeaderTemplate中(Accessing parent data

2019-07-17 18:09发布

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

因此,这里的代码:(我已经简化了很多,使其更易于阅读)

<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父中继?

Answer 1:

我发现其实答案:

使用:

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


Answer 2:

保罗给出的解决方案并没有为我工作,但做的:

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


Answer 3:

这是一个古老的线程,但它似乎正确补充:

在我来说,我有2点嵌套ASPxGridView控制(DevExpress的)和Container.Parent.Parent没有工作。

要从孩子访问父的数据项,这是对我工作:

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


Answer 4:

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

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


Answer 5:

我已经使用如下。 两个中继器作为家长和Child.below我如何让孩子中继器内标识列的父值。

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


文章来源: Accessing parent data in nested repeater, in the HeaderTemplate