以下代码在安装了最新Service Pack的IE7中将无法正常运行。文件下载对话框IE7消失
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.Clear();
response.AddHeader("Content-Disposition", "attachment;filename=Contacts.xls");
response.ContentType = "application/octet-stream";
System.Text.UnicodeEncoding Encoding = new System.Text.UnicodeEncoding();
byte[] unicodeBytes = {255,254};
int length = 2 + Encoding.GetByteCount(_exportContent); // _exportContent is string.
response.AddHeader("Content-Length", length.ToString());
response.OutputStream.Write(unicodeBytes, 0, 2);
unicodeBytes = Encoding.GetBytes(_exportContent);
response.OutputStream.Write(unicodeBytes, 2, unicodeBytes.Length);
response.End();
我打开aspx文件中的JS(window.open()),并在Page_Load执行上面的代码()。
奇怪的是,弹出的窗口,试图加载/显示文件对话框,然后你听到声音就像一个弹出窗口已被阻止(虽然弹出窗口阻止程序已停用!)。
额外信息:
- 行为发生都在XP和W2K3(这是没有任何其他安装,但IE7 & FW 3.5 SP1 &最新的服务包一个真正的Web服务器。) - 相同的代码工作正常FW 2.0 - Firefox不会显示文件对话框。
如果其他人遇到同样的问题,并且可以提供解决方案以获得在IE7中工作的东西,我会好奇的。
干杯,
低糜
问题通过调整IE中用于处理来自特定主机的弹出窗口的设置来解决。 感谢您的意见 – 2009-01-08 10:21:50