2011-07-04 15 views
0

顯示圖像我有存儲在我的SQL數據庫二進制html文件。該html包含圖像目錄,並且圖像存儲在服務器上的這些目錄中。流HTML不IE9

的Chrome,Safari瀏覽器,火狐,IE7和IE8都顯示圖像和HTML文本,但IE9只顯示HTML文本和詞語的地方圖像的「位圖」。

該代碼輸出HTML:

Response.Clear(); 
Response.CacheControl = "no-cache"; 
Response.Cache.SetCacheability(HttpCacheability.NoCache); 
Response.Cache.SetValidUntilExpires(false); 
Response.ExpiresAbsolute = DateTime.Parse("1/1/2000"); 
Response.Expires = 0; 
b = Compression.DeCompressByteArray(b); 
Response.OutputStream.Write(b, 0, b.Length); 
Response.End(); 

這僅僅是示出了主輸出順序的片段。

從輸出HTML複製圖像目錄,並把它放在我的地址欄打開圖像,但IE9不希望顯示他們在html裏,而是顯示單詞「位圖」

此外:當運行從SQL,

  • 的HTML(和圖像)輸出作爲一個獨立的HTML工作 在所有瀏覽器。
  • 的圖像做顯示器在IE9時 嵌入,如果我有兼容性 模式(但打破其他 的東西)。
+0

我的問題是不是從SQL輸出的HTML。我的問題是關於C#(查看源代碼)的HTML輸出。我打賭有一個重大的區別。 –

回答

0

要回答這個問題:

的HTML從我的SQL流服務器沒有定義文檔類型,因此在IE8中以怪癖模式運行。 IE9強制沒有文檔類型的iframe使用其父項的文檔類型。

的HTML是從Excel的輸出公佈時不產生一個DOCTYPE。

1

你怎麼寫HTML(通過C#或者什麼的,或者說,它從SQL Server來之意)幾乎可以肯定是這裏無關緊要。我建議查看源代碼,確認源代碼HTML(沒有來自ASP.NET,SQL Server等的任何干擾)仍然存在問題,並且發佈該代碼(並重新標記以反映C#和SQL Server沒有任何內容解決問題)。另外請確保提及在使用兼容模式時它是否更好。

+0

我已經更新了這個問題。在我的aspx頁面之外運行html工作,所以它必須與c#中的響應有關。 – Bob

+0

你是什麼意思?因此,如果您查看ASPX頁面的源代碼(不起作用),請將其保存爲HTML文件,並將其作爲HTML打開,它可以工作嗎?使用兼容模式時的結果如何? –

+0

我已經採取直接從SQL和HTML查看源代碼的html,並保存爲它自己的HTML文件。運行它。aspx頁面可以工作,但不能在.aspx中嵌入。這個html的確很不一樣,但是工作原理是一樣的。 html輸出嵌入到iframe中,我不知道是不是這個問題... – Bob