删除记录(使用GridView)

时间:2009-03-10 23:43:09

标签: .net asp.net sql

1)为什么我们可以在不设置GridView.DataKeyNames属性的情况下更新数据记录(通过数据源控件),但在删除时(如果将ConflictDetection属性设置为OverwriteChanges),则必须设置DataKeyNames,否则GridView不会传递参数数据源控制?

谢谢

2 个答案:

答案 0 :(得分:2)

GridView使用 DataKeyNames 作为您要操作的记录的标识符。就像你桌子上的主键一样。它们大致用于您操作的WHERE子句。

答案 1 :(得分:1)

我认为documentation解释得最好。它声明DataKeyNames属性是“包含主键字段名称的数组”。

修改gridview时,动态地从行中构建值并将它们传递到数据源中。删除时,它假定所需的全部是主键。方便的是,它们存储在该行的DataKeys中,因此它们是您获得的唯一值。