这个问题好像以前也有人问过,但我感觉我的情况略有不同。
我有一个包含gridview 的页面。当按下按钮编辑gridview 中的一条记录时,该按钮首先执行一些客户端脚本,该脚本会弹出一个模式窗口以进行编辑(使用.onClientClick 设置)。从这个弹出窗口中,用户点击更新数据库并关闭窗口。一旦窗口关闭,按钮的服务器端代码应该会触发,这将调用函数来刷新gridview。相反,我收到错误消息:
无效的回发或回调参数。使用配置或页面启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用 ClientScriptManager.RegisterForEventValidation 方法注册回发或回调数据以进行验证。
真正让我恼火的是,我在不同的页面上使用了完全相同的逻辑,而且效果很好。
关于如何避免这种情况的任何建议?
更新:我已经删除了添加客户端脚本的代码行,但仍然出现错误。所以我相当肯定它只是由回发引起的。经过仔细检查,我意识到实际上有一些 ListItems 以编程方式绑定到 DropDownLists。所以......我可能需要做 ClientScriptManager.RegisterForEventValidation 的事情......有人可以给我一个例子来说明这样做的语法是什么样的吗?似乎与 ScriptManager 对象的设置不同......