繁体   English   中英

中继器绑定分层匿名类型

[英]repeater binding hierarchical anonymous type

嗨,DataBinding 有一些问题我想创建一个带有中继器控件的嵌套菜单

代码

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中“名义上”的值? 所以我可以使用它

我想要的是:

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

而不是Eval("Value")使用Container.DataItem

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM