0

我正在使用一些 javascript 将新项目添加到编辑表单上少于 20 个项目的查找列下拉列表中。

当我单击保存时,我收到一条错误消息,指出回发或回调参数无效。使用配置或页面中的 <%@ Page EnableEventValidation="true" %> 启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用 ClientScriptManager.RegisterForEventValidation 方法注册回发或回调数据以进行验证。

如果我添加 Page EnableEventValidation="false" 我会收到一个解析器错误,说明:在解析服务此请求所需的资源期间发生错误。请查看以下特定的解析错误详细信息并适当地修改您的源文件。

解析器错误消息:此页面中不允许页面指令上的 enableeventvalidation 属性。

事件日志显示 Microsoft.SharePoint.WebPartPages.WebPartPageUserException:此页面中不允许页面指令上的 enableeventvalidation 属性。STACKTRACE:Microsoft.SharePoint.WebPartPages.WebPartPageUserException:此页面中不允许页面指令上的 enableeventvalidation 属性。
在 Microsoft.SharePoint.ApplicationRuntime.SPPageParserFilter.PreprocessDirective(字符串指令名称,IDictionary 属性)
在 System.Web.UI.TemplateParser.ParseStringInternal(字符串文本,编码文件编码)

我检查了我的 web.config,它没有页面 enableEventValidation

如何在 sharepoint 中禁用 eventValidation。[希望以每页为基础]?还是我必须使用信息路径?

4

1 回答 1

0

在 sharepoint 中设置 EnableEventValidation="False" 不是一个好的解决方案,因为它是安全功能。我有使用 javascript 修改下拉列表元素的经验,它给了我相同的错误消息。我通过在后面的代码中添加方法 protected override void Render(HtmlTextWriter writer) 找到了解决此错误的方法。

protected override void Render(HtmlTextWriter writer)
{
   //Set Dropdownlist Value
   ddlOption.Add("value");
   base.Render(writer);
}
于 2013-01-31T05:31:54.847 回答