说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentException: 回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
源错误:
执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 |
两个下拉列表框DropDownList是通过ajax读的数据库,实现整个页面无刷新,但是点击按钮的时候就报错,按钮后面.cs中也没有代码,错误如上面所述。求原因。aspx的,.net4.0。
我不是很懂asp。net,但是以我在其他框架中的经验,你的错误是由于你用框架创建了一个表单并启用了验证,验证机制是对比返回内容和创建内容一致(<spanstyle="font-family:Verdana,sans-serif,宋体;font-size:14px;line-height:22px;background-color:#FFFFFF;">数据有效并且是预期的);但是你用ajax更新了select,表单返回的select的value在原来的表单中不存在,所以框架认为你返回了一个不属于表单的元素。
表单不能提交用ajax获得的selectvalue,你可以创建不输入一个不属于表单的select,然后把select的value以inputhidden的形式返回server
楼上说的对,asp.net的视图状态引起的。
既然用Ajax更新,干嘛还要用服务器控件?
ajax和服务器控件有什么关系?不能公用吗?谢谢。版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。