Подтвердить что ты не робот

Доступ к родительским данным во вложенном ретрансляторе, в 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 - могу ли я получить доступ к DataItem в родительском ретрансляторе?

4b9b3361

Ответ 1

Я нашел ответ на самом деле:

Использование:

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

Ответ 2

Решение, данное Павлом, не помогло мне, но это произошло:

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

Ответ 3

Это старый поток, но кажется правильным добавить:

В моем случае у меня есть два вложенных элемента управления ASPxGridView (DevExpress) и Container.Parent.Parent не работает.

Чтобы получить доступ к родительскому элементу данных из дочернего элемента, это то, что сработало для меня:

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

Ответ 4

Если я хочу получить свойство родительского ретранслятора, я обычно делаю это:

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