0

hi have some problem with DataBinding i want to create a nested menu with repeater controls

code

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>

as expected i ve got DataBinding: 'System.Int32' does not contain a property with the name 'Value'.

and my question is, how can i access value of the 'nominaly' in repeater2 ?? so i can use it

what i want is :

year1
--1
--2
--3
year2
--1
--2
--3
WKordos
  • 1,909
  • 15
  • 15

1 Answers1

0

Instead of Eval("Value") use Container.DataItem.

Loki Kriasus
  • 1,224
  • 9
  • 21