【发布时间】:2016-06-19 22:00:06
【问题描述】:
我使用了 asp.net 下拉列表框并使用 OnSelectedIndexChanged 事件,但是当项目选择发生更改时,我遇到了上述错误。
回发或回调参数无效。使用配置或页面中的 启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用 ClientScriptManager.RegisterForEventValidation 方法注册回发或回调数据以进行验证。
我想要一个不禁用页面或 web.config 中的事件验证的解决方案。
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true"
OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"></asp:DropDownList>
if(!IsPostBack)
{
DropDownList1.Items.Add(new ListItem("item1", "1"));
DropDownList1.Items.Add(new ListItem("item2", "2"));
DropDownList1.Items.Add(new ListItem("item3", "3"));
DropDownList1.Items.Add(new ListItem("item4", "4"));
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
var selItem = this.DropDownList1.SelectedItem;
}
如何解决该异常。任何提示/示例都是可观的。
【问题讨论】:
-
您是否在涉及页面重新加载或在页面重新加载时调用的每个操作中添加了 if(!IsPostBack)?这应该可以防止出现错误。您也可以查看this questin,您可能会找到适合您情况的内容。它有很多答案。我会很好奇你的问题是什么,你是怎么解决的!