У нас есть класс, который мы используем в ascx-странице, в повторителе:
Класс:
public class TestClass{
public int Id;
...
public int NumPeople {get;set};
public List<ReservationOccupancy> ReservationOccupancyList {get;set};
}
Заголовок:
<th id="tdNumPeople" runat="server">
asp:Image ID="Image15" runat="server" CssClass="sortico" ImageUrl="/img/blank.gif" />
<asp:LinkButton ID="LinkButton4" runat="server" CommandName="NumPeople" Text="# of Guests "></asp:LinkButton></th>
<th id="tdSource" runat="server">
<asp:Image ID="Image16" runat="server" CssClass="sortico" ImageUrl="/img/blank.gif" />
<asp:LinkButton ID="LinkButton5" runat="server" CommandName="Source" Text="Source "></asp:LinkButton></th>
<% for (int i = 0; i < SOcolu.Length; i++)
{
%><th><%= SOcolu[i] %></th>
<% } %>
ItemTemplate:
<td><%#Eval("NumPeople") %></td>
<td>
<asp:Label ID="lblSource" runat="server"></asp:Label>
</td>
<td><%#(List<ReservationOccupancy>)DataBinder.Eval(Container.DataItem,"ReservationOccupancyList") %>
</td>
Мы используем Eval для его свойств, но также в классе у нас есть Список объектов:
public List<ReservationOccupancy> ReservationOccupancyList
Класс ReservationOccupancy:
public class ReservationOccupancy
{
public string ColumnName;
public int ColumnValue;
}
Мы хотим показать ретранслятор как это - например, у нас есть Список:
ReservationOccupancyList = new List<ReservationOccupancy>()
{
{ColomnName = "ColumnName1", ColumnValue = 1},
{ColomnName = "ColumnName2", ColumnValue = 2}
},
Id NumPeople ColumnName1 ColumnName2
5 3 1 2
Мы можем показать / связать NumPeople, но когда мы пытаемся связать Список (например, с помощью datacontainer), мы получаем ссылку на обобщенный c коллекция в качестве значения в представлении.