在ASP.NET的gridview中编辑数据时出错

在ASP.NET的gridview中编辑数据时出错,asp.net,Asp.net,我正在ASP.NET中制作一个在线bug跟踪系统(BTS)。我使用Gridview在网页上显示记录。它在某些web表单中工作正常,但在某些web表单中,当我单击gridview的“编辑事件”时,会出现如下所示的错误。请指导我解决这个错误 “/BTS”应用程序中的服务器错误。 回发或回调参数无效。使用 在配置中或页面中。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合要求,请使用ClientScriptManager.RegisterForEven

我正在ASP.NET中制作一个在线bug跟踪系统(BTS)。我使用Gridview在网页上显示记录。它在某些web表单中工作正常,但在某些web表单中,当我单击gridview的“编辑事件”时,会出现如下所示的错误。请指导我解决这个错误

“/BTS”应用程序中的服务器错误。
回发或回调参数无效。使用

在配置中或页面中。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合要求,请使用ClientScriptManager.RegisterForEventValidation方法注册回发或回调数据以进行验证。

只需执行以下操作-->
EnableEventValidation=“false”

 <%@ Page Title="" Language="C#" MasterPageFile="~/shirish.master" AutoEventWireup="true"
    CodeFile="s.aspx.cs" Inherits="_s" EnableEventValidation="false" %>  

当请求验证失败时,这是ASP.NET中的典型错误。最常见的情况是当您发出回发时,其中一个输入控件(通常是文本框)包含html或javascript代码。正如错误消息所述,有几种方法可以绕过此验证:

  • 通过将page指令的
    EnableEventValidation
    属性设置为false,在页面级别禁用请求验证。请注意,您可以从
    web.config
    文件在整个站点上执行相同的操作

  • 通过使用以下方法注册事件验证所需的控件


  • 如果使用第一种方法,您将关闭事件验证,这意味着您将放松一些内置的安全功能。另一方面,第二种方法有点笨拙,因为它需要预测控件允许的值。。