【发布时间】: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