【发布时间】:2015-02-09 14:36:00
【问题描述】:
我有以下对象:
var years = articles.GroupBy(a => a.Year).Select(yearGroup => new
{
Year = yearGroup.Key,
PerMonth = yearGroup.GroupBy(a => a.Month).Select(monthGroup => new
{
Month = monthGroup.Key,
Articles = monthGroup.ToList()
}).ToList()
}).ToList();
Repeater1.DataSource = years;
Repeater1.DataBind();
我试图显示如下:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<div class="yearGroup">
<h1 class="yearHeading"><%# DataBinder.Eval(Container.DataItem, "Year") %></h1>
<asp:Repeater ID="Repeater2" runat="server" DataSource='<%# DataBinder.Eval(Container.DataItem, "PerMonth")%>'>
<ItemTemplate>
<div class="monthGroup">
<h3 class="monthHeading"><%# DataBinder.Eval(Container.DataItem, "Month") %></h3>
<asp:Repeater ID="Repeater3" runat="server" DataSource="<%# DataBinder.Eval(Container.DataItem, "Articles") %>">
<ItemTemplate>
<h1>Article title</h1>
<%--<div class="Article">
<%# DataBinder.Eval(Container.DataItem, "Title") %>
</div>--%>
</ItemTemplate>
</asp:Repeater>
</div>
</ItemTemplate>
</asp:Repeater>
</div>
</ItemTemplate>
</asp:Repeater>
一切正常,直到最后的中继器。当我删除Repeater3 时它可以工作,但是当我放入最后一个中继器时,我得到一个错误,由于某种原因它不喜欢
DataSource="<%# DataBinder.Eval(Container.DataItem, "Articles") %>
我的事件查看器说
服务器标签格式不正确。
【问题讨论】:
标签: c# list datasource repeater