gpt4 book ai didi

c# - ASP.NET Repeater - 显示数据绑定(bind)列表 的属性列表

转载 作者:行者123 更新时间:2023-11-30 15:42:11 26 4
gpt4 key购买 nike

我在 C# 中有一个对象列表,我正在尝试绑定(bind)到 Repeater。这是我的类(class)的一个简化示例:

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; }
}

被混淆的部分是 Students 属性。当然,我将我的 List 绑定(bind)到转发器:

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”标签内。

希望对你有帮助

关于c# - ASP.NET Repeater - 显示数据绑定(bind)列表<T> 的属性列表<T1>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7741621/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com