开发者社区> 问答> 正文

ajax实现DropDownList的更新,但是点击 按钮控件时出错,为什么??报错

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

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

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

源错误:

执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

两个下拉列表框DropDownList是通过ajax读的数据库,实现整个页面无刷新,但是点击按钮的时候就报错,按钮后面.cs中也没有代码,错误如上面所述。求原因。aspx的,.net4.0。


展开
收起
爱吃鱼的程序员 2020-06-22 19:26:45 543 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    我不是很懂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和服务器控件有什么关系?不能公用吗?谢谢。

    2020-06-22 19:27:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载