读书人

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

发布时间: 2012-03-05 11:54:02 作者: rapoo

将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所绑定的数据集入手,数据集里面是完整没分页的数据。

读书人网 >asp.net

热点推荐