回发或回调参数无效
回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
在项目中出现这种错误,从网上查资料,和老员工交流,最终问题得以解决,实在是爽,下面把解决方法告诉大家:
目前为止遇到的出现情况有两种:
一是Form嵌套,一个页面只能有一个Form,仔细检查代码就可以解决。
二是在下拉菜单中使用ajax,常见于省市联动菜单,可能是由于在aspx页面赋给了下拉菜单初始Item值,在事件回发时提示该错误,将下拉菜单初始Item值删除,在绑定事件中添加Item项。
一是Form嵌套,一个页面只能有一个Form,仔细检查代码就可以解决。
二是在下拉菜单中使用ajax,常见于省市联动菜单,可能是由于在aspx页面赋给了下拉菜单初始Item值,在事件回发时提示该错误,将下拉菜单初始Item值删除,在绑定事件中添加Item项。
我遇到的属于第二种,为了给用户好的体验,我采用了ajax技术。出现问题后,把第二个dropdownlist换成select。问题得到解决。
用到的代码:
select下:
var newOption = document.createElement("OPTION");
newOption.innerText = city;
newOption.value = ""+productid+"";
drp2.appendChild(newOption);
newOption.innerText = city;
newOption.value = ""+productid+"";
drp2.appendChild(newOption);
页面调用value使用Request.Form["select ID"]
dropdownlist下:
var newOption = document.createElement("OPTION");
newOption.text= city;
newOption.value = ""+productid+"";
drp2.options.add(newOption);
newOption.text= city;
newOption.value = ""+productid+"";
drp2.options.add(newOption);
页面调用value使用dropdownlistID.SelectedValue;
浙公网安备 33010602011771号