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 。如有其他建议,请注明。