首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

将GridView中内容导出到Excel,异常

2012-03-05 
将GridView中内容导出到Excel,错误?--书上原代码--private void Export(string FileType, string FileName

将GridView中内容导出到Excel,错误?
--书上原代码--
private void Export(string FileType, string FileName)
  {
  Response.Charset = "GB2312";
  Response.ContentEncoding = System.Text.Encoding.UTF7;
  Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8).ToString());
  Response.ContentType = FileType;
  this.EnableViewState = false;
  StringWriter tw = new StringWriter();//using System.IO;
  HtmlTextWriter hw = new HtmlTextWriter(tw);
  GridView1.RenderControl(hw);
  Response.Write(tw.ToString());
  Response.End();
  }
  protected void Button2_Click(object sender, EventArgs e)
  {
  //Ex
  Export("application/ms-excel", "aaa.xls");
  }
  public override void VerifyRenderingInServerForm(Control control)
  {
  //什么都不写
  }
---------------------------------------------------------
错误为:

“/WebSite2”应用程序中的服务器错误。
--------------------------------------------

只能在执行 Render() 的过程中调用 RegisterForEventValidation; 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.InvalidOperationException: 只能在执行 Render() 的过程中调用 RegisterForEventValidation;

源错误: 


行 71: StringWriter tw = new StringWriter();//using System.IO;
行 72: HtmlTextWriter hw = new HtmlTextWriter(tw);
行 73: GridView1.RenderControl(hw);
行 74: Response.Write(tw.ToString());
行 75: Response.End();
 
请各位大侠帮忙!嘿嘿~~

[解决办法]
这里有现成的源代码,下载调试成功后逐行学习代码,然后再解决书上代码的问题

http://www.cnblogs.com/stswordman/archive/2006/08/24/485641.html

[解决办法]
一次全导出可以,但是要用Gridview所绑定的数据集入手,数据集里面是完整没分页的数据。

热点排行