c#-ASP.NET Repeater-显示数据绑定列表的属性列表
作者:互联网
我正在尝试绑定到Repeater的C#对象列表.这是我班的简化示例:
public class LineDetail
{
public int ClassID { get; set; }
public IPerson Teacher { get; set; }
public IList<IPerson> Students { get; set; }
public string ClassTitle { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
}
令人困惑的部分是学生属性.当然,我将列表绑定到转发器:
LineItems.Sort((x, y) => DateTime.Compare(x.StartTime, y.StartTime));
ResultsPanel.Visible = true;
Schedule.DataSource = Meetings;
Schedule.DataBind();
我声明我的中继器:
<asp:Repeater ID="Schedule" runat="server">
<HeaderTemplate>
<table width="650" border="1" bordercolor="#222222">
<tr>
<td> Time </td>
<td> Teacher </td>
<td> Class Title </td>
<td> Students </td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<%# Convert.ToDateTime(DataBinder.Eval(Container.DataItem, "StartTime")).ToString("h:mm")%>
-
<%# Convert.ToDateTime(DataBinder.Eval(Container.DataItem, "EndTime")).ToString("h:mm")%>
</td>
<td> <%# DataBinder.Eval(Container.DataItem, "Teacher").ToString() %> </td>
<td> <%# DataBinder.Eval(Container.DataItem, "ClassTitle")%> </td>
<td> <%# DataBinder.Eval(Container.DataItem, "Students")%> </td>
</tr>
</ItemTemplate>
<FooterTemplate></table></FooterTemplate>
</asp:Repeater>
但是我不知道如何(或什至有可能)输出List Students属性.我尝试了嵌套中继器,但是没有用.我不相信这是因为它编译后与语法有关.
我的内部中继器是:
<td>
<asp:Repeater id="ParliamentarianRepeater" runat="server">
<HeaderTemplate><ul></HeaderTemplate>
<ItemTemplate>
<li>
<%# DataBinder.Eval(Container.DataItem, "Students.Firstname") %>
</li>
</ItemTemplate>
<FooterTemplate></ul></FooterTemplate>
</asp:Repeater>
</td>
我不知道该如何完成我需要做的事情.
您能指出我正确的方向吗?我愿意以其他方式很好地显示此数据.提前致谢!
解决方法:
您必须为内部中继器设置数据源
您的内部中继器代码应如下所示
<td><asp:Repeater id="ParliamentarianRepeater" runat="server" DataSource='<%# DataBinder.Eval(Container.DataItem, "Students")%>'>
<HeaderTemplate><ul></HeaderTemplate>
<FooterTemplate></ul></FooterTemplate>
<ItemTemplate>
<li>
<%# DataBinder.Eval(Container.DataItem, "Firstname") %>
</li>
</ItemTemplate>
</asp:Repeater>
</td>
内部中继器必须位于父中继器的“ ItemTemplate”标签内.
希望这可以帮助
标签:repeater,asp-net,c 来源: https://codeday.me/bug/20191102/1988979.html