Asp.Net 2.0 中"回发或回调参数无效"的解决方案
2007-11-29 17:24
309 查看
这两天开发的时候碰到一个问题:在用Ajax做了联动的下拉框之后使用服务器的按钮事件报错:
回发或回调参数无效。在配置中使用
或在页面中使用 <%@ Page EnableEventValidation="true" %>启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
到网上查了一下,这个错误一般的解释都是:
目前为止遇到的出现情况有两种:
一是Form嵌套,一个页面只能有一个Form,仔细检查代码就可以解决。
二是在下拉菜单中使用ajax,常见于省市联动菜单,可能是由于在aspx页面赋给了下拉菜单初始Item值,在事件回发时提示该错误,将下拉菜单初始Item值删除,在绑定事件中添加Item项。
给出的解决方法有一些,经测试仅有一个方法有效:
在后代码中使用Request.Form["DDLcity"]; 来获取相关dropdownlist的value值,而不能使用DDLcity.SelectedValue来获取。大概的原因是因为Ajax改动了页面的内容,回送到服务器的页面内容中的控件值就不再正常,只能通过原始的方法获取。
这样的结果就是很不方便。而且在页面再次送到客户端的时候会导致Dropdownlist控件的内容紊乱,Ajax的优势失去了,需要在服务器端根据传回来的信息重新设置dropownlist的内容。现在还没有很完美的解决方案。
没有试过微软的Ajax,不知道是否有同样的问题,想来是应该没有的。
回发或回调参数无效。在配置中使用
或在页面中使用 <%@ Page EnableEventValidation="true" %>启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
到网上查了一下,这个错误一般的解释都是:
目前为止遇到的出现情况有两种:
一是Form嵌套,一个页面只能有一个Form,仔细检查代码就可以解决。
二是在下拉菜单中使用ajax,常见于省市联动菜单,可能是由于在aspx页面赋给了下拉菜单初始Item值,在事件回发时提示该错误,将下拉菜单初始Item值删除,在绑定事件中添加Item项。
给出的解决方法有一些,经测试仅有一个方法有效:
在后代码中使用Request.Form["DDLcity"]; 来获取相关dropdownlist的value值,而不能使用DDLcity.SelectedValue来获取。大概的原因是因为Ajax改动了页面的内容,回送到服务器的页面内容中的控件值就不再正常,只能通过原始的方法获取。
这样的结果就是很不方便。而且在页面再次送到客户端的时候会导致Dropdownlist控件的内容紊乱,Ajax的优势失去了,需要在服务器端根据传回来的信息重新设置dropownlist的内容。现在还没有很完美的解决方案。
没有试过微软的Ajax,不知道是否有同样的问题,想来是应该没有的。
相关文章推荐
- Asp.Net 2.0 中回发或回调参数无效的解决方案
- ASP.NET 2.0 回发或回调参数无效
- asp.net回发或回调参数无效,原因分析与解决方案
- ASP.NET Postback回调后参数无效
- ASP.NET Postback回调后参数无效
- asp.net回发或回调参数无效的异常
- 每日总结(二)C#判断输入内容为数字、Sharepoint回收应用程序池错误、Asp.Net 会发或回调参数无效、DropDownList动态绑定且设置默认选择项
- 关于ASP.NET回发或回调参数无效问题的解决办法
- 解决ASP.NET应用AJAX的CascadingDropDown回发或回调参数无效
- ASP.NET Postback回调后参数无效
- Asp.net报错汇总:回发或回调参数无效
- asp.net中回发或回调参数无效。在配置中使用 <pages enableEventValidation="... 问题解决
- 每日总结(二)C#判断输入内容为数字、Sharepoint回收应用程序池错误、Asp.Net 会发或回调参数无效、DropDownList动态绑定且设置默认选择项
- 回发或回调参数无效(ASP.NET)
- 总结asp.net回发或回调参数无效解决方法
- Asp.net报错汇总:回发或回调参数无效
- asp.net中"错误:回发或回调参数无效"
- ASP.NET异常全记录----->回发或回调参数无效
- 如何处理,ASP.NET中回发或回调参数无效
- asp.net 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的