我的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。任何提示?
答案 0 :(得分:14)
原来问题是我正在使用 IIS6 。 IIS6查看Web.config的<system.web>
部分而不是<system.webServer>
部分(IIS7使用它,除非它以兼容模式运行)。要在运行IIS6时在网站的每个页面上呈现此元标记,我相信最好的选择是将其添加到您的主页。我最终将以下代码块添加到我的MasterPage的OnPreRender事件中:
Page.Header.Controls.AddAt(0, new HtmlMeta { HttpEquiv = "X-UA-Compatible", Content = "IE=EmulateIE7" });
我之所以使用AddAt而不仅仅是普通的Add是因为X-UA-Compatible元标记显然必须是页眉中的第一个才能被尊重。
希望这可以帮助同一条船上的人!