Sharepoint Web 部件,enableEventValidation=false

问题描述 投票:0回答:2

我有一个共享点 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部件可以插入到任何页面。

我该如何克服这个问题?

jquery sharepoint user-controls postback web-parts
2个回答
0
投票

覆盖服务器端代码中的渲染方法并更新 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);
}

-2
投票

当您使用下拉列表或列表框时,绑定此控件时,您必须将其放入

if(!IsPostBack())
{
// Your code to bind or some activity
}
© www.soinside.com 2019 - 2024. All rights reserved.