vs2005下,"回发或回调参数无效"的解决方法

还是前几天发现的问题,原来在vs2003下使用的ajax无刷新联动代码,放到vs2005的项目后就会出现错误

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

在网上找到几种解决方案

1.将<pages enableEventValidation="true"/>改为<pages enableEventValidation="false"/>,但是这样取不到客户端增加的值。

2.将dropdownlist的value值设为数字或者英文,不要使用中文。我尝试了一下,没有成功。

3.使用RegisterForEventValidation注册客户端控件的值。

可能还有别的方法,不过我没有注意到。我是参考的第三种方法实现的。

解决方法:在Page_Load之前加入如下代码

protected override void Render(HtmlTextWriter writer)

{

ClientScript.RegisterForEventValidation(DropDownList1.UniqueID, "argument");

base.Render(writer);

}

DropDownList1就是你要使用客户端脚本动态增加内容的控件,而argument就是你要加入的值。例如本来DropDownList1是空的,你用脚本为它增加了“中国”,“美国”等值,这里的代码就改成

ClientScript.RegisterForEventValidation(DropDownList1.UniqueID, "中国");

ClientScript.RegisterForEventValidation(DropDownList1.UniqueID, "美国");

原理:就是因为vs2005的这个数据验证问题了,"在asp.net render DropDownList 时,会遍历DropDownList的item,并记录所有可能的postback的值,计算的结果会被保存在page中,

<input type="hidden"

name="__EVENTVALIDATION"

id="__EVENTVALIDATION"

value="/wEWBQKGg9abDQKd9sHMBgKc9s…….."

/>

这个过程发生在control的Render()方法中

当页面postback时,ASP.NET会根据这个隐藏值检查postback values,如果找不到对应信息,就会报错"(引自http://recordsome.blogsome.com/2006/05/)

所以我们重写Render,将由脚本加入控件中的值加入到隐藏值中,就不会出现找不到相应信息的错误了。使用这个方法后,取数据时使用Request.Form("DropDownList2")取值.

转载于:https://www.cnblogs.com/linpengfeixgu/articles/1215050.html

vs2005下,回发或回调参数无效的解决方法相关推荐

  1. 回发或回调参数无效 的解决办法

    回发或回调参数无效.在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEve ...

  2. C# 回发或回调参数无效

    回发或回调参数无效. 在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEv ...

  3. 回发或回调参数无效。在配置中使用 enableEventValidation=true或在页面中启用了事件验证...(转)...

    原文:http://blog.csdn.net/zhangyj_315/archive/2009/03/03/3952313.aspx 回发或回调参数无效.在配置中使用 <pages enabl ...

  4. .NET中回发或回调参数无效问题的解决

    该错误的详细提示信息为: 回发或回调参数无效.在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ P ...

  5. ASP.NET异常全记录-----回发或回调参数无效

    回发或回调参数无效.在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEve ...

  6. Asp.net报错汇总:回发或回调参数无效

    回发或回调参数无效.在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEve ...

  7. webform 回发或回调参数无效

    j解决方法: 在web.config中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page Enab ...

  8. 回发或回调参数无效。下拉菜单中使用ajax,联动菜单引起的问题解决方案

    把DropDownList改成select 用Request.From来取值 赋值用value 如: <select runat="server" id="ddlC ...

  9. elementUI级联选择器(Cascader)回显问题和clearCheckedNodes无效的解决方法

    Cascader第二次绑定值时,下拉框里选项高亮样式仍显示上一次绑定值时的状态 我在使用el-cascader-panel时发现的,官方文档中说明有clearCheckedNodes该方法可清空选中节 ...

最新文章

  1. 笔记本电脑(Windows7)实现无线AP
  2. 【技术综述】一文道尽R-CNN系列目标检测
  3. 分配服务器证书在哪,手把手教你如何申请安装ssl服务器证书
  4. java关于23种设计模式的有趣见解
  5. CRM呼叫中心异步搜索实现的调试截图
  6. 牛客练习赛 栈和排序
  7. 如何linux安装apache服务器,Linux中如何安装Apache服务器
  8. 21秋期末考试成本会计10168k2
  9. D5渲染器 视频学习笔记
  10. 整合HikariCP
  11. 怎么为PE添加输入法
  12. 微软黑客马拉松@您,低代码风云再赛
  13. 硬盘克隆大师Ghost 8.0技巧从入门到精通
  14. 搭建网站的主要目的、基本步骤和技巧
  15. 支付宝 SDK6001 错误码 或 支付繁忙
  16. 【C】echo命令的实现
  17. 如何实现云时代的高效运维?
  18. android电视 优酷视频,将优酷视频投屏到智能电视上,竟然还有这种操作
  19. 稍微冷门一点的经验,phpnow不能打开默认页的问题处理
  20. owc java_OWC操作excel

热门文章

  1. python 直线虚线_python – matplotlib中的虚线而不是缺失值
  2. html怎么把view变成标签_html单选按钮默认选中怎么做?input标签的单选按钮用法实例...
  3. 7个等级 容灾等级_在餐厅吃饭竟是7级风险!最新社交风险等级出炉!
  4. Java Web开发之一:用好的技术设计来犒赏自己
  5. 个位数不含4用计算机表示,计算机组成原理
  6. vs2015 html预览,Blend for Visual Studio 2015 预览版
  7. java成组链接法的实现_c++磁盘存储空间的管理模拟(UNIX存储管理的成组链接法的设计与实现)...
  8. cpu频率_CPU频率被锁定到800mhz怎么办?
  9. Nacos系列:Nacos的三种部署模式 1
  10. 利用 John the Ripper 破解用户登录密码