2011-06-04 30 views
0

喜 有一些问题,数据绑定 我想创建一个嵌套的菜单与中继器控制中继器结合分层匿名类型

代码

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'的属性。

和我的问题是,我如何访问repeater2中的'nominaly'的值?这样我就可以使用它

我想是:

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

回答

0

代替Eval("Value")使用Container.DataItem