zoukankan      html  css  js  c++  java
  • 只能在执行 Render() 的过程中调用 RegisterForEventValidation

    将GridView中的数据导出到Excel中出现只能在执行Render() 的过程中调用 RegisterForEventValidation
     

    只能在执行Render() 的过程中调用 RegisterForEventValidation;

    在实现"将GridView中的数据导出到Excel中"的时候出现了如下错误:
    用户代码未处理 InvalidOperationException
    只能在执行 Render() 的过程中调用 RegisterForEventValidation;
         EnableEventValidation属性是 .NET Framework 2.0 中是新增的属性,默认的情况下该属性的值为true;通过这个新增的功能ASP.NET会检查 POST方法中的所带的参数,如果认为不合法,就会抛出异常。这个设计的目的是为了防止恶意用户利用post 方法发送一些恶意数据,但是有时也会出现类似上面的错误。
    只要禁止这个功能,问题就能得到解决。可以通过以下两种途径解决:
    1、在Web.Config文件中:在<system.web></system.web>标记中添加如下代码:
    <system.web>
          <pages enableEventValidation="false"> </pages>
    </system.web>
    2、在具体的.aspx页面的源代码中修改代码,如下:
    <%@ Page Language="C#" EnableEventValidation="false" AutoEventWireup="true" CodeFile="GridView_Export_Excel.aspx.cs" Inherits="GridView_Export_Excel" %>

    当用GridView导出Execl的时候,会发生只能在执行 Render() 的过程中调用 RegisterForEventValidation的错误提示

    如GridView中有LinkButton或有分页时会出现此错

    解决方法有2:

    1.修改web.config(不推荐)<pages enableEventValidation ="false" ></pages>

    2.直接在导出Execl的页面修改<%@ Page Language="C#" EnableEventValidation = "false"

  • 相关阅读:
    远程调用之RMI、Hessian、Burlap、Httpinvoker、WebService的比较
    遍历List/Map的时候删除成员遇到的奇怪问题
    Java事务处理
    ThreadLocal学习记录
    IntelliJ IDEA+Tomcat+Nginx运行git项目
    JavaIO和JavaNIO
    Spring MVC的启动过程
    Java中的集合类
    Java中的泛型
    Java 多线程的基本概念
  • 原文地址:https://www.cnblogs.com/CCJVL/p/1681641.html
Copyright © 2011-2022 走看看