当我尝试更新使用<asp:LinqDataSource>
连接的gridview并在此数据源中启用更新和删除时,我得到一个例外告诉我:
javaScript运行时错误: Sys.WebForms.PageRequestManagerServerErrorException:找不到 与存储的原始值中的给定键匹配的行 ViewState中。确保&#39;键&#39;字典包含唯一键 与前一个Select返回的行对应的值 操作
如何解决此异常?
答案 0 :(得分:12)
您应该在Gridview属性中添加DataKeyNames="ID"
ID是数据库表的键列。
答案 1 :(得分:0)
可能是在循环或使用gridview的ViewState时删除了一些行。尝试使用虚拟数据视图删除所需的行。
答案 2 :(得分:0)
就像你在将页面发布回服务器时将Grid重新绑定到其他一些数据一样 - 在页面呈现时,ViewState中的键集合会保留,用户选择一行,但重新绑定在服务器上用户选择的网格和密钥在密钥集合中不可用。
答案 3 :(得分:0)
在升级旧的VB.net项目时遇到错误,甚至在旧版本中工作,新项目也是VB.Net&#34; DataKeyName&#34; CASE-SENTIVE ....
这意味着: KeyId 与 KeyID
不同... Dammm