3
我有一個C#中的對象列表我試圖綁定到一個Repeater。這裏是我的類的簡單的例子:ASP.NET中繼器 - 顯示屬性列表<T1> Databound List <T>
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>
但我不知道如何(或者如果它甚至有可能)輸出的學生名單屬性。我嘗試了一個嵌套的中繼器,但那沒有奏效。我不相信它是編譯後的語法相關的。
我內心的中繼器是:
<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>
我不知道如何來完成我需要做的。
你能指點我正確的方向嗎?我願意以其他方式將這些數據很好地展現出來。提前致謝!
感謝奧古斯丁 - 出於某種原因,我在想,內轉發就能夠直觀地確定數據源。 – splatto
不客氣,我很樂意幫助你。 –