,,asp.net Page.EnableEventValidation 属性验证服务器控件的回发和回调事件出现的错误

,,asp.net Page.EnableEventValidation 属性验证服务器控件的回发和回调事件出现的错误 页面。EnableEventValidation属性验证服务器控件的回发和回调事件的错误。前两天用jQuery做了一个包含DropDownList链接的页面,通过Ajax请求获取数据。 我以为页面很简单,不会有问题,但是运行时出现了以下错误:page。EnableEventValidation属性引用MSDN来获取或设置一个值,该值指示该页是验证回发事件还是回调事件。的。出于安全原因,NET Framework需要注册服务器端控件的回发和回调事件。这种事件验证机制可以消除未经授权的回发请求和回调的风险。使用此模型,控件可以在呈现期间注册其事件,然后在回发或回调期间验证这些事件。默认情况下,ASP.NET中所有的事件驱动控件都使用这个函数。 第一反应,既然启用了事件验证,那就禁用页面中的验证,设置% @ pageenableEventValidation=' false ' %,解决问题。但是为什么会出现这种问题呢?谷歌一下。 如果页面包含DropDownList或ListBox之类的控件,可能是由以下原因造成的: 下拉菜单用的是Ajax,省市联动菜单常见。可能是因为下拉菜单的初始项值赋给了aspx页面,回发事件时提示错误。下拉菜单的初始项目值被删除,项目项目被添加到绑定事件。 原因是DropDownList控件的ListItem的Value属性包含中文字符。只需将值更改为英文或数字。最好在web.config中添加以下语句:复制代码如下:全球化请求编码=' UTF-8 ' response coding G=' UTF-8 ' culture=' zh-cn ' ui culture=' zh-cn '/因为如果回发没有用UTF-8编码,JAVASCRIPT会认为有问题。只需更改requestEncoding='utf-8 '。如有其他建议,请注明。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: