以下代碼在安裝了最新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