如何绑定到ASP.NET ListView中的控件

时间:2010-12-05 18:47:32

标签: asp.net linq data-binding

我有一个列表需要绑定到我从API获取的List。该列表如下所示:

struct DataItem { int level; string name; Guid key };
List<DataItem> myList = API.GetList();
ListView1.DataSource = myList;
ListView1.DataBind();

这一切都可以正常显示。但是,该表必须编辑级别值。我不确定如何实现这一目标。我已经在listView上尝试过事件处理程序,但它们从未被调用过。我已经尝试了一个用于level字段的文本框(包含Bind和Eval)和一个事件处理程序OnTextChanged,但是从不调用事件处理程序。 (我尝试过启用AutoPostBack和ViewState的各种组合。)

我如何以编程方式编辑此数据结构?

1 个答案:

答案 0 :(得分:0)

你试图在这里实现的双向数据绑定将不会像这样工作 - List没有实现INotifyPropertyChanged(如果我错了,有人会纠正我)。

您可以考虑使用普通的旧DataTable,它可以是开箱即用的双向绑定。如果性能不是一个非常关键的问题,那么将List转换为DataTable(以及返回,取决于您想要对修改后的数据执行的操作)非常简单,而不是苦于使用列表类型的自定义实现。