实现 保存 Dataset 的数据为一个.csv文件到客户端,代码如下:
ds = GetReportsDataSet(RD.ReportSQL)
Dim CSVstring As String = ExportCSV(ds.Tables(0))
Response.Clear()
Response.ClearHeaders()
Response.ClearContent()
Response.ContentType = "text/plain"
Response.AddHeader("content-disposition", "attachment; filename=" & RD.ReportTitle & ".csv")
Response.AddHeader("Content-Length", CSVstring.Length.ToString) Response.Write(CSVstring)
Response.Flush()
Response.End()
此代码在ie7中可以实现下载。但在ie8中没有反应。调试时,ie8下也会执行相应的后台代码,但客户端没有反应。请问如何解决。
确认下IE8和IE7下的IE设置是否一样?加个断点调试看看
将 Response.ContentType = "text/plain" 改为
Response.ContentType = "application/octet-stream";
在不改变代码的前提下给你aspx页面中加入
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
然后再测试下,如果还有问题就改变ContentType为application/octet-stream。
我也遇到了这个问题,在客户端调用时,把window.open(url),改为,window.location.href=url后解决问题,这是IE8的一个BUG,服务器还是按照正常的设置就可以了,必要时改为强制下载文件,如:
ContentType="application/force-download";