我的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应用程序 - 设置IE7兼容模式? 但它似乎没有按预期使用IE8和IIS6。任何提示?

有帮助吗?

解决方案

原来问题是我正在使用 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兼容的元标记显然必须是页面标题中的第一个才能被尊重。

希望这可以帮助同一条船上的人!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top