我正在寻找一种方法来在EDIT模式下根据数据的主键更改asp.net gridview行,而不是基于在gridview上单击的行号。
有哪些选择。
答案 0 :(得分:0)
我可能在GridView中有一个包含PK的隐藏列。单击编辑按钮时,您可以使用适当的处理程序从该行获取PK并根据需要对其进行操作。
更新:阅读完评论后,并不是说您无法获得PK,而是单击按钮和将网格视图重新呈现为可编辑时,数据已刷新。在您的方案中,用户可以单击第三行进行编辑,然后突然变为第七行,因为其他用户已插入四行。
简单的答案是不要那样做!首先,它会让你的生活变得更加艰难; 2)如果用户点击了第三行进行编辑,那么它会让用户感到困惑,突然之间就是他们屏幕上的第七行。
如果出于某种原因必须刷新数据,请在用户提交更改后执行此操作。如果您需要刷新数据以确保其他用户在用户更新之前没有编辑这些值,那么您将不得不寻找另一种解决方案。也许父/细节屏幕可以工作或添加一个说明数据已被更改的弹出窗口。 (请记住,如果值突然改变而没有警告,用户也会感到困惑。)