在ASP.NET的ListView中从一行中获取数据库ID

问题描述:

我在ASP.NET中有一个ListView,其中一列包含CheckBox。为了在用户更改点击数据库时更新数据库,我使用了OnCheckedChanged。但是,我怎么知道每个复选框与数据库中的哪个记录有关?在ASP.NET的ListView中从一行中获取数据库ID

您应该将DataKeys属性设置为表示单个记录标识的字符串。

一旦进入项目数据绑定事件,您就可以使用;

DataKey currentDataKey = myListView.DataKeys[e.Item.DataItemIndex]; 

然后,您只需使用currentDataKey值查找数据库记录。

+0

但是如何在OnCheckedChanged被触发时使用这些信息?我有很多复选框。 – magol 2011-05-15 19:25:55

+0

当您设置模板时,为什么不将复选框的值设置为该行的ID?这样,当你的复选框激发你有你需要查找ID来识别你的记录和做任何需要的ID? – 2011-05-15 21:21:56

CheckBox控件具有Parent属性,该属性应该转换为ListViewItem;如果没有,您可以尝试一系列.Parent.Parent.etc,其中一位父母将成为列表框项目。

HTH。