我在IE 10中遇到了一个问题(我认为是)ASP.NET/VB Web Forms应用程序中的Response.WriteFile方法(它以.NET 2.0为目标)在生产服务器上。基本上,这段代码已经到位,并且在IE 10之前一直工作很多年。现在,当我通过Visual Studio在本地测试它时,它工作正常,但是当它位于生产服务器(Server 2008 R2,IIS 7)上时,我收到文件无法下载的错误。当我强制它,我得到一个腐败的PDF。我正在使用Crystal Reports X生成PDF。任何愿意以正确的语言帮助我研究这个问题的人将会得到我不朽的感激之情!我已经尝试了各种IE 10的所有compat模式。我已经通过Scott Hanselman http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx更新了App_Browsers文件夹中的浏览器定义文件。作为一个相对新手的开发人员,我不确定我错过了如何通过VS在IE 10上工作,但在我投入生产时不起作用。Response.WriteFile生产服务器上的IE 10不工作
这里是有问题的代码片段:
...
Response.ContentType = "application/pdf"
Response.AddHeader("content-disposition", "attachment; filename=ThisReport_" & Server.UrlEncode(Me.ReportName.Text & "_" & Now.Month.ToString() & "_" & Now.Day.ToString() & "_" & Now.Year.ToString()) & ".pdf")
Response.WriteFile(strFileName)
...
预先感谢您的任何帮助,指导,或者您也可以在解决这一问题提供了方向。我把它撒在我的应用程序的许多地方,所以找到一个根级别的修补程序比修复它出现的每个地方更好。不幸的是,升级到.NET 4.5并不是一种选择。
我也有一个问题,如果Response.Buffer设置为False,IE 10不会正确显示传统的ASP页面。如果页面只是比较复杂,并且需要花费一两秒钟才能编译,IE10会随机地忽略某些表中的文本。 – EddieB 2013-07-24 18:51:16