привязка повторителя к иерархическому анонимному типу - PullRequest
0 голосов
/ 05 июня 2011

привет есть проблемы с привязкой данных я хочу создать вложенное меню с элементами управления повторителем

код

var menu = from xx in DB.DataSet
               group xx by xx.dataEmisji.Value.Year into years
               select new
               {
                   lata = years.Key,
                   nominaly = (from zz in DB.DataSet
                               where zz.dataEmisji.Value.Year == years.Key
                               select zz.nominal).Distinct() // IEnumerable<int>
               };
    Repeater1.DataSource = menu;
    Repeater1.DataBind();

asp.net

<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate><ul></HeaderTemplate>
<ItemTemplate >
     <li>
         <asp:HyperLink ID="HyperLink1" runat="server" Text='<%# Eval("lata") %>'></asp:HyperLink>
            <asp:Repeater ID="Repeater2" runat="server" DataSource='<%# Eval("nominaly") %>'>
                <HeaderTemplate><ul></HeaderTemplate>
                    <ItemTemplate>
                        <li><asp:HyperLink ID="HyperLink2" runat="server" Text='<%# Eval("Value") %>'>HyperLink</asp:HyperLink></li>
                    </ItemTemplate>
                <FooterTemplate></ul></FooterTemplate>
            </asp:Repeater>
     </li>
</ItemTemplate>
<FooterTemplate></ul></FooterTemplate>
</asp:Repeater>

как и ожидалось, я получил DataBinding: System.Int32 не содержит свойства с именем «Value».

и мой вопрос, как я могу получить доступ к значению «nominaly» в repeater2 ?? так что я могу использовать это

что я хочу:

year1
--1
--2
--3
year2
--1
--2
--3

1 Ответ

0 голосов
/ 05 июня 2011

Вместо Eval("Value") используйте Container.DataItem.

...