2009-07-30 43 views
4

我在Web.config文件ASP.NET忽略IE7兼容模式標籤在Web.config中

<system.webServer> 
    <!-- For now..... lets be safe and put IE8 in IE7 compatibility mode--> 
    <httpProtocol> 
     <customHeaders> 
     <clear /> 
     <add name="X-UA-Compatible" value="IE=EmulateIE7" /> 
     </customHeaders> 
    </httpProtocol> 
</system.webServer> 

以下部分,但

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

中不存在的頭當他們在我的網站上呈現的頁面。我按照這篇文章ASP.NET App - Set IE7-Compatibility Mode?的建議,但它似乎沒有按照預期使用IE8和IIS6。任何提示?

回答

14

原來問題是我正在使用IIS6。 IIS6查看Web.config的<system.web>部分,而不是<system.webServer>部分(由IIS7使用,除非它以兼容模式運行)。要在運行IIS6時在網站的每個頁面上呈現此元標記,我相信最好的選擇是將其添加到您的母版頁。我最終加入以下代碼塊到我的母版的OnPreRender事件:

Page.Header.Controls.AddAt(0, new HtmlMeta { HttpEquiv = "X-UA-Compatible", Content = "IE=EmulateIE7" }); 

我用AddAt,而不只是簡單的添加的原因是因爲X-UA兼容meta標籤顯然已經成爲第一件事情在頁眉中以便遵守它。

希望這可以幫助在同一條船上的人!

+0

難道你不能只是將它添加到母版頁的部分,而不是將其添加到代碼? – codeulike 2011-10-20 17:41:53