所以我得到了例外
回发或回调参数无效。
使用启用事件验证
在配置或 在
页。出于安全目的,这
功能验证参数
回发或回调事件发起
从服务器控制
最初渲染它们。如果数据
是有效且预期的,使用
ClientScriptManager.RegisterForEventValidation
方法以注册
回发或回调数据
验证。
具有以下堆栈跟踪
[System.ArgumentException:未捕获
异常:无效的回发或
回调参数。事件验证
已启用使用
配置或 在
页。出于安全目的,这
功能验证参数
回发或回调事件发起
从服务器控制
最初渲染它们。如果数据
是有效且预期的,使用
ClientScriptManager.RegisterForEventValidation
方法以注册
回发或回调数据
验证。] 在
System.Web.UI.ClientScriptManager.ValidateEvent(字符串
uniqueId,字符串参数)位于
System.Web.UI.Control.ValidateEvent(字符串
uniqueID、字符串事件参数)位于
System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(字符串
事件参数) at
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String
事件参数) at
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler)
源控件,字符串事件参数)
在
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection
发布数据)于
System.Web.UI.Page.ProcessRequestMain(布尔值
includeStagesBeforeAsyncPoint,布尔值
includeStagesAfterAsyncPoint)
提交表单后,然后在页面再次重新加载之前快速单击 LinkButton 以下载同一页面上的文件后,会发生异常。
有人可以详细解释为什么在执行上述操作时会发生此异常吗?
提前致谢!
这肯定是 .NET 中最令人沮丧的错误消息之一,但是一旦您了解了正在发生的事情,就会发现它是有道理的。 .NET 喜欢了解正在发生的一切。它跟踪放置在页面上的所有元素。同样,当 .NET 收到来自它不了解的内容的输入时,它会感到被冒犯。就您而言,听起来好像在您单击 LinkButton 时,.NET 认为它不应该在那里。根据我的经验,造成这种情况的可能原因有两个:
您正在执行客户端魔法,即创建新输入或克隆现有输入。
在处理表单提交时,.NET 对 LinkButton 执行某些操作,导致其不再可用。我遇到过的一些例子是,当您的 LinkButton 是在后端动态创建的,或者您正在使用 UpdatePanels 并且它们的内容在表单提交期间发生更改时。
基本上,我相信,如果您单步执行表单提交代码并观察 LinkButton,您会发现 .NET 忘记了它,这可以理解在单击 LinkButton 时会触发此“安全异常”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)