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"

  • 相关阅读:
    C 实战练习题目45
    C 实战练习题目44
    C 实战练习题目43
    C 实战练习题目42 -auto定义变量
    C 实战练习题目41 -static定义静态变量
    如何0基础学习C/C++?
    2019-11-29-win10-uwp-关联文件
    2019-11-29-win10-UWP-Controls-by-function
    2019-11-29-WPF-高性能笔
    2019-11-29-WPF-使用-Win2d-渲染
  • 原文地址:https://www.cnblogs.com/CCJVL/p/1681641.html
Copyright © 2011-2022 走看看