回发或回调参数无效。在配置中使用 <pages enableEventValidation= "true "/> 或在页面中使用 <%@ Page EnableEventValidation= "true " %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
出现了以上的报错,网上说的很多,最后还是自己解决。
问题出现的原因很简单,排除低级错误,什么用了多个Form之类的不说了。
(我的思路可能不是很流畅,将就看吧)
1. 首先将<%@ Page EnableEventValidation= "false" %> ,这样设置的后果相信大家发现等于没解决,
因为你的很多更新没效果了。
2. 出现的问题最大的可能就是Item项的更新,各种包含Items的控件,如DropdownList, repeater等等。
3. 我之前写过一个同样功能的DataList没有问题。
4. 问题就在于页的Page_Load事件里报错,熟悉页事件的都知道还没有到你更新控件的事件。
5. 所以你是不是考虑将Page_Load里的绑定数据写在 if(!IsPostBack)里面。
6. 好了,这样大家发现更新后回发的页面没更新,对了,在上面的 if(!IsPostBack)里面,当然不刷新了。
7. 所以,你要在控件的更新事件里(不是更新事件,是包含对Lists操作的事件里)在对Lists操作后,再进行一次绑定(或同Page_Load里的刷新显示)。