您现在的位置:龙卷风首页 ›› 网络编程 ›› 阅读文章

gridview更新、删除按钮失效[asp.net]

gridview执行删除、编辑功能时失效:

asp.net中的gridview组件提供了强大的功能,与数据源结合之后,可以实现数据的分页,排序,添加,删除等功能,是非常实用的组件之一,虽然有人诟病它效率不佳,但这只限于数据库庞大的情况,一般数据量比较少的情形,无需考虑性能问题。

gridview的诸多功能设置,完全可以在vs2005的图形界面中完成,非常方便。这样虽然不需要你自己去写代码,但其中的原理最好还是要有所了解,不然一旦出了问题就不知所以然了,像题目所写的这个问题:

删除、编辑按钮失效

运行网页时,既不会报错,也没有产生应有的效果,那么问题到底出在什么地方呢?得看了图形界面里面的设置,也是正常的。这个问题后来我才想起原来是数据库操作所依赖的所谓“主键”问题。要查找一条具体的数据,并对它进行修改或删除动作,需要指定一个唯一的查询条件,通过这个查询条件可以查询到你想操作的唯一数据行。一般情况下,这个键我们设为id。然而在列表显示时,我们很多时候又不想把这个id显示出来,因为它既不能用于替代序号,又没有什么意义。于是在昨天的情况下,我在图形界面中把它设置为隐藏,即不让它显示在列表界面上。这正是出现上面问题的根源——数据库查询语句找不到正确的主键,查询不到所需的数据行,因此无论是修改还是删除,都失效了。

解决办法很简单,把id列显示出来就可以了。这也许是gridview的缺点之一吧:你不能隐藏关键列,既然你在查询语句中把它读出来了也不行,一定要显示出来才算数。

作者 不见不散 本文仅代表作者观点,与龙卷风资讯网立场无关。

我来说两句

1 楼 我是菜鸟 发表于 2007-7-25 From IP: 218.4.189.23
我不知道我说的是不是真确的,但在我机器上是这样的,不但是主键列,其它列也一样要读出并显示,而且所有列都不可以是空的,否则也不可以删除与更新.
作者主页: 
内容/Content