我有一个共享点 Web 部件,我使用以下控件:
<asp:DropDownList runat="server" ID="ddlCategory">
</asp:DropDownList>
<asp:ListBox runat="server" ID="ddlHSESubCategory" SelectionMode="Multiple">
</asp:ListBox>
稍后我将使用 jquery ajax 调用设置选项。 当页面回发时,我收到以下错误:
Event validation is enabled using <pages enableEventValidation="true"/>
in configuration or <%@ Page EnableEventValidation="true" %> in a page.
由于我正在构建Web部件,因此我无法设置enableEventValidation = false,因为我无权访问页面指令,并且此Web部件可以插入到任何页面。
我该如何克服这个问题?
覆盖服务器端代码中的渲染方法并更新 web.config 并更改页面属性enableEventValidation =“false”
protected override void Render(HtmlTextWriter writer)
{
// Register dynamically added items in ddlAttendees for event validation
foreach (ListItem item in ddlHSESubCategory.Items)
{
Page.ClientScript.RegisterForEventValidation(ddlHSESubCategory.UniqueID, item.Value);
}
// Call base Render method
base.Render(writer);
}
当您使用下拉列表或列表框时,绑定此控件时,您必须将其放入
if(!IsPostBack())
{
// Your code to bind or some activity
}