【问题标题】:repeater binding hierarchical anonymous type中继器绑定分层匿名类型
【发布时间】:2011-06-04 22:51:26
【问题描述】:

嗨 数据绑定有问题 我想创建一个带有中继器控件的嵌套菜单

代码

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

【问题讨论】:

    标签: c# asp.net linq data-binding repeater


    【解决方案1】:

    Container.DataItem代替Eval("Value")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多