您的位置:首页 > 运维架构

Dropdownlist在ajax当服务器控件提交时错误“回发或回调参数无效 启用了事件验证

2010-10-15 17:03 316 查看
项目中用到下拉列表多级联动,开始没用ajax全部服务器处理,后来这样刷新太慢了用ajax(ajax.dll),结果就遇到

错误:

回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证

按错误提示加上enableEventValidation="true"错误依旧;于是加上enableEventValidation="false"好家伙,现在不出错了,但是当其他服务器控件提交返回服务器的时候根本取不到在客户端使用ajax给子级别的dropdownlist添加的项,非常无奈,这边客户又催的急,我干脆给弄了个updatepanel和script 把需要多级联动的几个list放到updatepanel中 需要提交到服务器整体处理的块放在updatepanel外面 这样总算解决了,不管怎么说算是凑合能用了;

忙完这个程序之后,心理非常不爽,纠结那个ajax.dll下的其他解决方案今天又搜索了下,有些朋友的方式是不使用dropdownlist转而采用html控件select,给这个html控件加上runat="server" 然后在服务器端访问绑定,接收客户单选择项的时候采用

Request.Form["控件ID"]获取选择项的值,综合起来还是这种解决办法最优。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐