如何从*代码后面强制IE9进入IE8兼容模式*

时间:2011-10-12 20:11:45

标签: c# asp.net internet-explorer-9 ie8-compatibility-mode kentico

我希望在我网站的两个页面上强制IE9进入IE8兼容模式。我正在使用Kentico CMS,所以我没有ASPX页面,我可以去修改HEAD标签。所以我希望通过使用用户控件或Web部件来添加META标记。<​​/ p>

在网络部分,我尝试了以下代码:

this.Page.Header.Controls.Add(new LiteralControl(mystring));

但是,这通常会将标头添加为HEAD部分中的最后一个标记。 IE兼容模式要求这是head部分中的第一个标记。

这可能来自后面的代码吗?

或者如果有人对Kentico有专业知识,那么Kentico特定的解决方案也会起作用。

我只想让它在我的网站中的两个特定页面上工作。不是全部!

2 个答案:

答案 0 :(得分:8)

您应该直接向X-UA-Compatible添加Response.Headers标头,而不是使用http-equiv元。

答案 1 :(得分:0)

您可以使用Head HTML Web部件并将其放在文档上(实际上在“设计”选项卡上,使用给定的页面模板),并使用您需要的代码,并将其添加到这些页面的head标签中。

如果文档与包含您不想应用此标题代码的文档共享页面模板,则可以使用可见性字段并添加宏以返回true / false。以下是一个例子:

{%cmscontext.currentdocument.documentname |(等于)%}

您还可以使用除文档名称之外的其他属性,如文档别名,ID等。