У меня возникла небольшая проблема при попытке связать общий список с ретранслятором.Тип, используемый в общем списке, на самом деле является структурой.
Я построил базовый пример ниже:
struct Fruit
{
public string FruitName;
public string Price; // string for simplicity.
}
protected void Page_Load(object sender, EventArgs e)
{
List<Fruit> FruitList = new List<Fruit>();
// create an apple and orange Fruit struct and add to List<Fruit>.
Fruit apple = new Fruit();
apple.FruitName = "Apple";
apple.Price = "3.99";
FruitList.Add(apple);
Fruit orange = new Fruit();
orange.FruitName = "Orange";
orange.Price = "5.99";
FruitList.Add(orange);
// now bind the List to the repeater:
repFruit.DataSource = FruitList;
repFruit.DataBind();
}
У меня есть простая структура для моделирования Fruit, у нас есть два свойства, которыеявляются FruitName и Цена.Я начинаю с создания пустого общего списка типа «FruitList».
Затем я создаю два фрукта, используя структуру (яблоко и апельсин).Эти фрукты затем добавляются в список.
Наконец, я связываю общий список со свойством DataSource ретранслятора ...
Разметка выглядит следующим образом:
<asp:repeater ID="repFruit" runat="server">
<ItemTemplate>
Name: <%# Eval("FruitName") %><br />
Price: <%# Eval("Price") %><br />
<hr />
</ItemTemplate>
Я ожидаю увидеть на экране название фруктов и цену, разделенные горизонтальным правилом.
В настоящий момент я получаю ошибку, касающуюся фактического связывания ...
**Exception Details: System.Web.HttpException: DataBinding: '_Default+Fruit' does not contain a property with the name 'FruitName'.**
Я даже не уверен, что это может работать?Есть идеи?
Спасибо