我在ASP.NET 2.0 用了DataGrid (感情倾向,hoho),其中有一列是模版列,里面有一个Button,用来进行一些逻辑处理。当我将 EnableEventValidation设为true时,如果点击该按钮,则会出现如下错误:         回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面 
         中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此
         功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效
         并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回
          发或回调数据以进行验证。 
         说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该
         错误以及代码中导致错误的出处的详细信息。          异常详细信息: System.ArgumentException: 回发或回调参数无效。在配置中使用 <pages
          enableEventValidation="true"/> 或在页面中使用 <%@ Page 
          EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或 
         回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,
          则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据
         以进行验证。如果将EnableEventValidation 设为false,点击按钮时不会出现以上错误,但实际什么效果是什么也没有作,即完全没有执行事件处理函数。我的事件处理函数是 DataGrid1_ItemCommand 。请问这是怎么回事?怎么解决这个问题呢?在网上找了很久,都没有答案,MS很多人都碰到了这个问题。谢谢!

解决方案 »

  1.   

    我也遇到基本上相同的问题, 我是用datalist,自定义分页, 当把分页程序写入 if (!Page .IsPostBack)中时,datalist中可以响应,但是无法实现分页, 当把分页程序不写入 if (!Page .IsPostBack)中时,出现和楼主一样的问题
      

  2.   

    我的问题在设置<%@ Page EnableEventValidation="false" %>好像解决了
      

  3.   

    楼上的设置<%@ Page EnableEventValidation="false" %>后,点击按钮有反应吗?能不能执行事件处理函数?
      

  4.   

    已经解决了,在Page_Load这个函数里加上 if(!IsPostBack) 的判断后再进行数据绑定就可以了。但是我没弄懂为什么,望哪位大牛解惑,分数还是 80。谢谢!