我无法在IE 8中导出到Excel。我不断获得以下内容: “IE无法从url下载filename.aspx。” “IE无法打开这个网站。他要求网站不可用或无法找到。pelse再试一次”
在我看来,它喜欢它的https,并试图打开http,但我可能是错的。 根据这篇文章:http://support.microsoft.com/kb/323308
我的代码是:
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
gvResources.RenderControl(htw);
Response.ClearContent();
Response.ClearHeaders()
Response.AddHeader("Content-Disposition", "attachment; filename=AdHocReport.xls");
Response.ContentType = "application/vnd.ms-excel";
Response.Write(sw.ToString());
Response.End();
答案 0 :(得分:2)
我找到了一个建议您需要禁用缓存控制标头的链接。
试一试:
Response.Cache.SetCacheability(HttpCacheability.NoCache);
来源:Random Forum Conversation | Another Possible Lead
......我希望能够发现一些更深刻的理解,但这就是我发现的全部。
答案 1 :(得分:0)
尝试删除内容处置中的空格,同时尝试在文件名周围添加引号:
Response.AddHeader("Content-Disposition", "attachment;filename=\"AdHocReport.xls\"");
是否有理由使用带有write的字符串编写器而不是带有binarywrite的流?
答案 2 :(得分:0)
问题在于IIS应用程序池。解决。
答案 3 :(得分:0)
我刚才能解决这个问题。我在response.clear()
...
Response.ClearHeaders()
Response.AddHeader("Cache-Control", "no-store, no-cache ")