回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.ArgumentException: 回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  堆栈跟踪: 
[ArgumentException: 回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。]
   System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId, String argument) +367
   System.Web.UI.Control.ValidateEvent(String uniqueID, String eventArgument) +83
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +51
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +31
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +32
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +72
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3838 这个是在 DataGrid 的中的 选择一行的时候.  就是点一下 选择安钮 就出这个问题了.  事件我都写了.  为什么呢.?

解决方案 »

  1.   

    可能是回调页面的时候传的参数中有特殊字符,可以把页面的EnableEventValidation属性值改成false试一下。
      

  2.   

    就是那个 SelectedIndexChanged 事件啊. 在哪设置 EnableEventValidation 属性.?
      

  3.   

    我在 页面中加了  EnableEventValidation=false ;
      倒是不抱错 了.  但是 DataGrid 事件 没反映.
    根本不会执行 事件里的代码.  为什么啊.?
      

  4.   

    在HTML里,点击源视图,在HTML里找到EnableEventValidation ,肯定出现在页面的最上面了,把它的属性改为flase就可以了
      

  5.   

    嗯  谢谢.
      我改过来了 . 本来没有.  我在 @Page 里又加了一个.不过改完了.  事件没响应. <asp:DataGrid ID="Datawcl" runat="server" AllowPaging="True"
                                AutoGenerateColumns="False" BackColor="White" BorderColor="#CC9966" BorderStyle="None"
                                BorderWidth="1px" CellPadding="4" Height="55px"
                                Width="512px" OnPageIndexChanged="Datawcl_PageIndexChanged" PageSize="9" OnSelectedIndexChanged="Datawcl_SelectedIndexChanged">
                                <FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />
    这是页面中的 代码.  明明就写着了. OnSelectedIndexChanged="Datawcl_SelectedIndexChanged">在代码中也有这个事件.  但是却不执行.
    为什么啊.?
      谢谢..
      

  6.   

    再新建个 DataGrid 就会有 SelectedIndexChanged 事件  为什么呢.?
      为什么以前那个就没有呢.  郁闷..
      

  7.   

    那你在CS文件中写了这个事件“Datawcl_SelectedIndexChanged”的方法体没有。
    光响应事件,没有方法体。也是没有用的啊
      

  8.   

    有.
      如果是自动添加数据源. SelectedIndexChanged 事件相应.自己在代码里写指定 DataGrid 的DataSource 这事件就没响应了..
    刚开始的时候都响应. 是出了 回发或回调参数无效 的错.我设置了一个EnableEventValidation = false 后  就不响应了.但是 不设置 EnableEventValidation = false    就出错。提示 回发或回调参数无效