日期:2014-05-19  浏览次数:20432 次

困扰多天的问题
请大家帮忙
用ajax实现DropDownList   联动,当点击服务器按钮回传页面后出现  
“回发或回调参数无效。在配置中使用   <pages   enableEventValidation= "true "/>   或在页面中使用   <%@   Page   EnableEventValidation= "true "   %>   启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。”
请问该如何解决?

首先要说的是EnableEventValidation= "false "是行不通的,这样做虽然不显示这个错误但是DropDownList值取不到
大家可以看看下面这个blog,我的问题就是属于这里的第二种情况,不知道具体该如何解决。请大家多多帮忙。。
http://www.cnblogs.com/asp600/archive/2006/11/04/550216.html

------解决方案--------------------
if(!IsPostBack){} <-----> if(!IsPostBack && !IsCallBack){}

注意这2者以及其区别。


如果不是这个原因,则可能是你用错误的方式修改了控件的行为使ASP.NET误认为回调事件的参数来源于其他控件.




“回发或回调参数无效。在配置中。。。”这个错误一般发生在两种情况,1是控件Post的数据里带着Html,1是在回发或回调时在两次处理视图状态的过程之间的某个时间(比如,最常见的:PageLoad 里面)重新绑定了控件,造成前后的控件状态不一样因此系统认为不是相同控件,因此误报此异常,通常形成的原因就是判断少了IsPostBack 或 IsCallBack