aspx页面 GridView 生成 Excel 文件的问题……

cs代码是很普遍的代码,主要代码如下:HttpContext.Current.Response.Clear();HttpContext.Current.Response.... cs代码是很普遍的代码,主要代码如下:
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AppendHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, Encoding.UTF8).ToString());
HttpContext.Current.Response.Charset = "utf-8"; //这里fileName是传入的参数
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Default;
HttpContext.Current.Response.ContentType = "application/ms-excel";
this.GridViewID.Page.EnableViewState = false;
System.IO.StringWriter strWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htWriter = new System.Web.UI.HtmlTextWriter(strWriter);
this.gvShopsInfo.RenderControl(htWriter);
HttpContext.Current.Response.Write(strWriter.ToString());
ApplicationInstance.CompleteRequest();

无错误信息,运行正常,导出成功,可是,生成的xls文件内容却包含了aspx页面里的其他控件,就是GridView控件外的Label,Button什么的。这是什么个情况?
展开
 我来答
手机用户735aa
2012-06-20 · TA获得超过6.2万个赞
知道大有可为答主
回答量:3.7万
采纳率:0%
帮助的人:2639万
展开全部
我是提问者。
因为之前在写 HttpContext.Current.Response.End(); 事件时,系统莫名在Application_Error获取Session时报错,于是将 HttpContext.Current.Response.End(); 以 ApplicationInstance.CompleteRequest(); 替代,代码运行成功,也可以导出一个xls格式的文件了,但是却便有了我所描述的情况出现。几经尝试无法解决,在尝试着替换回 HttpContext.Current.Response.End(); 时,系统很给面子却匪夷所思的不报错了……很纠结很坑爹,还不知道究竟是怎么个原因……如果有高人的话,可以给详细解答下
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式