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