我有以下对象:
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") %>
我的事件查看器说
服务器标签格式不正确。
答案 0 :(得分:0)
尝试在服务器标签周围交换“”代替。
那样:
"<%# DataBinder.Eval(Container.DataItem, "Articles") %>"
变为:
'<%# DataBinder.Eval(Container.DataItem, "Articles") %>'