程序运行出现错误:System.Web.UI.ClientScriptManager.EnsureEventValidationFieldLoaded
2010-07-29 09:04
671 查看
近日在使用ArcGIS Server打印出图时,在打印完成后,关闭操作面板Pannel时,页面上总是提示:
System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError)
在 System.Web.UI.ClientScriptManager.EnsureEventValidationFieldLoaded()
在 System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId, String argument)
在 System.Web.UI.Control.ValidateEvent(String uniqueID, String eventArgument)
在 System.Web.UI.WebControls.RadioButtonList.LoadPostData(String postDataKey, NameValueCollection postCollection)
在 System.Web.UI.WebControls.RadioButtonList.System.Web.UI.IPostBackDataHandler.LoadPostData(String postDataKey, NameValueCollection postCollection)
在 System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad)
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
查找到的原因是:
应该是因为asp.net2.0默认以EnableEventValidateion验证, 所以当你的程序以客户端脚本进行postback或向前台输出html标记时,可能会引发类似的验证异常,回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
解决办法:
在页面的<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 中添加 EnableEventValidation="false" 就可以了。
System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError)
在 System.Web.UI.ClientScriptManager.EnsureEventValidationFieldLoaded()
在 System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId, String argument)
在 System.Web.UI.Control.ValidateEvent(String uniqueID, String eventArgument)
在 System.Web.UI.WebControls.RadioButtonList.LoadPostData(String postDataKey, NameValueCollection postCollection)
在 System.Web.UI.WebControls.RadioButtonList.System.Web.UI.IPostBackDataHandler.LoadPostData(String postDataKey, NameValueCollection postCollection)
在 System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad)
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
查找到的原因是:
应该是因为asp.net2.0默认以EnableEventValidateion验证, 所以当你的程序以客户端脚本进行postback或向前台输出html标记时,可能会引发类似的验证异常,回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
解决办法:
在页面的<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 中添加 EnableEventValidation="false" 就可以了。
相关文章推荐
- 安装Asp.net Ajax 的网站, 出现 Could not load type 'System.Web.UI.ScriptReferenceBase' 的错误
- 解决:编译器错误消息: CS0433: 类型“System.Web.UI.ScriptManager”同时存在于
- 分析器错误消息: 类型“System.Web.UI.ScriptManager”不具有名为“TextBox”的公共属性
- 错误 1 类型“System.Web.UI.ScriptManager”同时存在于“c:\windows\assembly\GAC_MSIL\System.Web.Extensions\3.5.0.0
- 有关注册DataItem的一些可能被忽视的事情 VS System.Web.UI.ScriptManager.RegisterStartupScript
- 关于ClientScriptManager.RegisterForEventValidation
- System.Web.UI.ScriptManager”的方法“get_EnableCdn”没有实现。
- VS2013验证控件出现 WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResour......的错误解决方案
- 回发或回调参数无效。ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
- vs2012运行webserver时出现错误提示: 创建在“system.net/defaultProxy”配置节中指定的 Web 代理时出错。
- 无法将类型为“System.Web.UI.WebControls.HiddenField”的对象强制转换为类型的错误的解决
- 非静态的字段、方法或属性“System.Web.UI.Page.ClientScript.get”要求对象引用
- System.Web.UI.ScriptManager”的方法“get_EnableCdn”没有实现
- 新建MVC3 编译出现 System.Web.Mvc.ModelClientValidationRule
- 由vs 2005升级到vs 2008后,运行时出现错误:未能加载文件或程序集“System.Web.Extensions, Version=2.0.0.0, 怎么办?
- 由vs 2005升级到vs 2008后,运行时出现错误:未能加载文件或程序集“System.Web.Extensions, Version=2.0.0.0, 怎么办?
- 错误:Method not found: 'Void System.Web.UI.ScriptResourceDefinition.set_LoadSucce
- SSRS:关于“在 Web 窗体上报表查看器 Web 控件需要 System.Web.UI.ScriptManager”
- 未能从程序集中加载类型“System.Web.UI.ScriptReferenceBase”