2010-09-22 102 views
4

這是this問題的延續。IE在Visual Studio和服務器上的調試之間顯示頁面不同

我有一個ASP.NET應用程序,在IE8中查看DEBUG時顯示的部分區域顯示與顯示已發佈的測試服務器位置不同。

當我在調試查看頁面(通過VS 2010),我看到:

alt text

然而,當我發佈到服務器上,直接查看它,它看起來像這樣:

alt text

該標題框只有文本背景顏色爲黑色而不是整個部分。

這裏的CSS:

.imageBox 
{ 
    position: relative; 
    float: left; 
    border-style: solid; 
    border-width: 1px; 
    text-align: center; 
} 

.imageBoxTitle 
{ 
    width: 100%; 
    background-color: #333333; 
    padding: 5px; 
} 

.imageBoxTitleLbl 
{ 
    font-family: Verdana; 
    font-weight: bold; 
    font-size: small; 
    color: White; 
} 

這裏是生成的HTML

<div class="imageBox"> 
    <div class="imageBoxTitle"> 
     <span id="MainContent_ImagesPanel_ImageHolder1_ImageBoxTitleLabel" class="imageBoxTitleLbl">ITEM OVERVIEW</span> 
    </div> 

    <div class="imagePlaceHolder"> 
     <p class=".centeredImage"><a id="MainContent_ImagesPanel_ImageHolder1_ImageHyperLink" href="UserImages/nu5t3hhs.jpg" target="_blank"><img src="UserImages/nu5t3hhs.jpg" height="200" width="200" /></a></p> 
     <span id="MainContent_ImagesPanel_ImageHolder1_CustomValidator1" style="color:Red;visibility:hidden;">*</span> 
    </div> 

    <div class="imageAction"> 
    </div> 
</div> 

所以我在想,這可能是某種形式的緩存問題。但是,如果我對CSS稍作修改(例如更改背景顏色),它會選擇並顯示它。另外,我已經爲css文件的查詢字符串添加了一個動態生成的GUID,所以它們不應該被緩存。菲德勒證實他們也沒有被緩存。

當通過Visual Studio Debug進行查看vs直接從服務器訪問頁面時,IE似乎以不同的方式呈現HTML/CSS。

什麼事情可能導致此行爲?

更新:當我在發佈的服務器上的Chrome或Firefox中查看頁面時,它顯示正確。我已經清除IE緩存(按Ctrl-F5),刪除的.css關閉服務器和reloade等

+1

IE緩存?嘗試使用Ctrl + F5進行刷新,該guid可能不是enougth.Are你確定,這是一個很好的CSS文件?也許你沒有把你的更新的CSS在服務器上(我想確定,因爲大多數時間這些問題都有簡單的解決方案) – 2010-09-22 14:28:00

+0

我試過CTRL-F5,我已經從服務器上刪除了.css文件,我在Fiddler看到它在檢索時返回了200。我清除了IE緩存。如果我在Chrome中查看它,它顯示正確。 – GernBlandston 2010-09-22 14:42:15

+0

你確定這是完整的代碼片斷,因爲這是無效的HTML - 關閉的 2010-09-22 14:52:16

回答

12

當IE渲染上本地主機,它將使用標準兼容模式

然而,當它呈現上內聯網,它將使用兼容模式

不要問我爲什麼這樣做,它只是這些任意MS事情中的一個,爲了激發我們的開發人員生活。

只需將它添加到你的頭,迫使IE爲標準兼容模式:

+0

謝謝謝謝謝謝! – GernBlandston 2010-09-22 17:37:39

3

信用

<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 

享受:)來JungleFreak的完整answer

IE8在不同的模式下運行取決於它是否訪問在本地主機上運行的站點與其他服務器。這很奇怪,我知道。我之前也遇到過這個問題。使用開發人員工具(F12)並檢查瀏覽器正在運行哪種模式(Quirks,IE7標準,IE8標準,IE8兼容性)。

相關問題