Ich habe zwei Klassen erstellt - Beispiel nur für diese Frage:
public class Item
{
public int itemId { get; set; }
public string name { get; set; }
public Item() { }
public Item(int itemId, string name)
{
this.itemId = itemId;
this.name = name;
}
}
public class GroupOfitems
{
public string groupName { get; set; }
public List itemList;
public GroupOfitems()
{
itemList = new List();
}
public GroupOfitems(string groupName, List itemList)
{
this.groupName = groupName;
this.itemList = itemList;
}
}
public List TestMethod()
{
// ADD SOME ITEMS TO FRUIT GROUP
List bla = new List();
bla.Add(new Item(1, "Banana"));
bla.Add(new Item(2, "Apple"));
// ADD SOME ITEMS TO VEGETABLES GROUP
List bla2 = new List();
bla2.Add(new Item(5, "Carot"));
bla2.Add(new Item(6, "Tomato"));
// ADD SOME ITEMS TO SOURCE
List result = new List();
result.Add(new GroupOfitems("Fruit", bla));
result.Add(new GroupOfitems("Vegetables", bla2));
// RETURN SOURCE
return result;
}
Und in meiner .aspx Datei habe ich ObjectDataSource
und ListView
wie:
Dies ist nur ein schnelles Beispiel für diese Frage. Alles funktioniert gut, aber ich kann itemList
nicht wie eine DataSource
an das verschachtelte ListView
binden (DataSource='<%# Eval("itemList") %>'
) (weil itemList
kein Eigenschaft in der Klasse ist). Ist dies der richtige Ansatz für das Binden oder muss ich meinen Ansatz ändern?