我正在使用一些javascript在编辑表单上的Lookup列下拉列表中添加少于20个项目的新项目。
当我点击保存时,我收到错误消息 无效的回发或回调参数。使用配置或<%@ Page EnableEventValidation =“true”%>启用事件验证在一个页面中。出于安全考虑,此功能可验证回发或回调事件的参数是否来自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用ClientScriptManager.RegisterForEventValidation方法注册回发或回调数据以进行验证。
如果我添加Page EnableEventValidation =“false”,我会收到一个Parser错误说明说明:解析服务此请求所需的资源时出错。请查看以下特定的解析错误详细信息并相应地修改源文件。
分析程序错误消息:此页面中不允许使用页面指令中的enableeventvalidation属性。
事件日志说
Microsoft.SharePoint.WebPartPages.WebPartPageUserException:此页面中不允许使用page指令中的enableeventvalidation属性。
堆栈跟踪:
Microsoft.SharePoint.WebPartPages.WebPartPageUserException:此页面中不允许使用页面指令中的enableeventvalidation属性。
在Microsoft.SharePoint.ApplicationRuntime.SPPageParserFilter.PreprocessDirective(String directiveName,IDictionary attributes)
在System.Web.UI.TemplateParser.ParseStringInternal(String text,Encoding fileEncoding)
我检查了我的web.config,它没有页面enableEventValidation
如何在sharepoint中禁用eventValidation。 [希望在每页的基础上]?或者我必须使用infopath?
答案 0 :(得分:0)
设置EnableEventValidation =“False”在sharepoint中不是一个好的解决方案,因为它是安全功能。我有一个关于使用javascript修改dropdownlist元素的经验,它给了我相同的错误消息。我通过在代码后面添加方法protected override void Render(HtmlTextWriter writer)找到了解决此错误的方法。
protected override void Render(HtmlTextWriter writer)
{
//Set Dropdownlist Value
ddlOption.Add("value");
base.Render(writer);
}