码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-07-09 22:37:00      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

在实现"将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" %>

 

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

标签:

原文地址:http://www.cnblogs.com/qqhfeng/p/4634400.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!