c# – 覆盖web.config中针对特定页面和框架的X-UA兼容设置

我有一个.Net Web应用程序,其中包含一个web.config设置,强制Internet Explorer关闭兼容模式并使用最新版本的IE:
<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="X-UA-Compatible" value="IE=Edge" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

但是,此应用程序包含需要兼容模式的旧页面.在我的测试中,只有当X-UA-Compatible设置为IE = 5时才能正常显示.

有没有办法覆盖单个页面的web.config设置?

我尝试过的很多东西都没有用过:

>包括< Meta http-equiv =“X-UA-Compatible”content =“IE = 5”/>在页面本身,作为< head>之后的第一个标记
>添加X-UA兼容:IE = 5到响应头.不幸的是,它还发送了X-UA-Compatible:IE = Edge标头,并且那个’赢了’.
>更改<!DOCTYPE>.我尝试了各种各样的选择.
>在DOCTYPE之前添加注释
>重新编写页面以符合标准.这显然是最好的解决方案,但有问题的页面一个复杂的映射应用程序,重写将需要几个月的时间.

更新
当我称之为“一个复杂的地图应用程序”时,我应该说“一只老鼠的框架和桌子”.事实证明,框架部分与解决方案相关.

解决方法

我终于通过将此代码放在每页的Page_Load()中来解决这个问题,该页面是该页面框架集的一部分(总共大约十几页).
Response.ClearHeaders();
response.addheader("X-UA-Compatible","IE=5");

我一直在假设框架集页面将继承主页面中的设置,但显然不是.只是将它放在主页上不起作用,我不得不把它放在每个页面/框架上.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...