回发或者回调参数无效

最近更新程序时,总是出现下面的错误提示 :

按照提示在页面的Page指令中设置EnableEventValidation="false"   .然后就没有出现了.

搜索出来的结果有两种解释:

一是Form嵌套,一个页面只能有一个Form,仔细检查代码就可以解决。
二是在下拉菜单中使用ajax,常见于省市联动菜单,可能是由于在aspx页面赋给了下拉菜单初始Item值,在事件回发时提示该错误,将下拉菜单初始Item值删除,在绑定事件中添加Item项。

第2种使用Ajax的话,把服务端DropDownList改为select runat=server就解决问题了。

 

实在是不想每次更新的时候都额外修改 一次,小声的说一次本地测试没有出现哦.Csdn出来的查询得到的结果,记录一下.

 在page里增加EnableEventValidation="false"      

   这个错误的原因大概是因为服务器端控件比如dropdownlist容器内值被改变而引起的验证不通过错误,设置不验证就可以了,这种错误在2.0里才有


  MSDN查询得到的结果是:

EnableEventValidation   属性指示是否应执行事件验证。此属性在   .NET   Framework   2.0   版中是新增的。  

   
  基本控件将检查此属性,以确定是否应对事件进行验证。派生的控件不会继承此基本控件属性,因此默认情况下不进行事件验证。通过向派生的控件本身添加   EnableEventValidation   属性并将其设置为   true,用户仍可以指示   ASP.NET   对派生的控件执行事件验证。    
   
  注意    
  此事件验证机制可消除未经授权的回发请求和回调带来的风险。它指示   ASP.NET   仅对会在回发请求或回调期间在控件上引发的特定事件进行验证。通过此模型,控件可在呈现期间注册其事件,然后在回发或回调期间验证这些事件。默认情况下,现在   ASP.NET   中的所有事件驱动控件均使用此功能:    
   
  如果没有定义   EnableEventValidation   属性,则只有在显式调用   ValidateEvent   时,自定义控件才会参与事件验证。如果处理了事件注册和验证,然后调用   ValidateEvent,则不需要在控件上定义此属性。   如果定义了此属性,但没有注册事件验证,则会出现运行时异常“无效的回发或回调参数”。    


问站长,原来服务器上面ASP.NET的版本是2.0的,本地的可是1.1的啊.哎,终于找到问题的根源了,O(∩_∩)O~

 

这个后来引申出来的问题可多了,很郁闷.

转载于:https://www.cnblogs.com/daisy-popule/archive/2009/04/14/1435377.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值