我正在ASP.NET中创建一个在线错误跟踪系统(BTS)。我正在使用Gridview在网页上显示记录。它在某些Web表单中正常工作,但在某些Web表单中,当我单击编辑gridview事件时,我收到如下所示的错误。请指导我解决此错误。
无效的回发或回调参数。使用
启用事件验证
<pages enableEventValidation="true"/>
在配置中或在页面中<%@ Page EnableEventValidation="true" %>
。出于安全考虑,此功能可验证回发或回调事件的参数是否来自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用ClientScriptManager.RegisterForEventValidation方法注册回发或回调数据以进行验证。
答案 0 :(得分:0)
就这样做 - &gt; EnableEventValidation="false"
如下所示
<%@ Page Title="" Language="C#" MasterPageFile="~/shirish.master" AutoEventWireup="true"
CodeFile="s.aspx.cs" Inherits="_s" EnableEventValidation="false" %>
答案 1 :(得分:0)
当请求验证失败时,这是ASP.NET中的典型错误。最常见的情况是当您发出回发时,其中一个输入控件(通常是TextBox)包含html或javascript代码。正如错误消息所述,有几种方法可以绕过此验证:
通过在页面级别禁用请求验证,通过将page指令的EnableEventValidation
属性设置为false来实现。请注意,您可以从web.config
文件
使用ClientScriptManager.RegisterForEventValidation
方法注册事件验证所需的控件
如果您使用第一种方法,您将关闭事件验证,这意味着您将放松一些内置的安全功能。另一方面,第二种方法有点笨拙,因为它需要预测控件允许的值