【发布时间】:2010-04-27 17:05:03
【问题描述】:
我有一组对象,我像这样绑定到 Listview:
if (!IsPostBack)
{
List<Equipment> persons = new List<Equipment>
{new Equipment{ItemName = "Sworn", ItemCount = 7, ItemCost = 255},
new Equipment{ItemName = "Civ", ItemCount = 3, ItemCost = 80},
new Equipment{ItemName = "Civ", ItemCount = 5, ItemCost = 200}};
lvMain.DataSource = persons;
BindList();
}
我想从此对象集合中添加/更新/删除,并在用户保存时将最终的数据对象集合提交给 BL... 而不是每次更改行时都删除/添加/更新。
所以我的问题是如何维护该数据源的状态?我试过这个(删除示例)
protected void lvMain_ItemCommand(object sender, ListViewCommandEventArgs e)
{
switch (e.CommandName)
{
case "Delete":
{
ListViewDataItem lvdi = (ListViewDataItem)e.Item;
lvMain.Items.Remove(lvdi);
break;
}
但它什么也没做。我无法将它重新绑定到数据源,因为此时数据源为空。我假设列表视图保持自己的包含数据的视图状态?...我想更糟糕的情况是我总是可以在会话中保存对象集合对象.. ..
我是在做错事还是以错误的方式思考?
【问题讨论】:
标签: asp.net data-binding listview