我有一个.aspx
页面,如下所示:
<!DOCTYPE html>
<html>
<head runat="server">
<title>My Page</title>
</head>
<body></body>
</html>
我正在尝试在页面后面的代码中,即在Page_load
中使用以下代码设置怪癖模式元标记:
HtmlMeta _ContentTypeTag = new HtmlMeta()
{
HttpEquiv = "Content-Type",
Content = "text/html; charset=UTF-8"
};
Page.Header.Controls.Add(_ContentTypeTag);
HtmlMeta _QuirksModeTag = new HtmlMeta()
{
HttpEquiv = "X-UA-Compatible",
Content = "IE=EmulateIE8"
};
Page.Header.Controls.Add(_QuirksModeTag);
但是当我看到页面源时,它当前输出以下内容:
<!DOCTYPE html>
<html>
<head runat="server">
<title>My Page</title>
<meta http-equiv="Page-Enter" content="blendTrans(Duration=0.0)">
<meta name="MSThemeCompatible" content="no">
</head>
<body></body>
</html>
而我期望输出是这样的:
<!DOCTYPE html>
<html>
<head runat="server">
<title>My Page</title>
<meta http-equiv=Content-Type content="text/html; charset=UTF-8">
<meta http-equiv=X-UA-Compatible content=IE=EmulateIE8>
</head>
<body></body>
</html>
此行为的原因是什么,我该如何解决?
UPDATE
我已经使用Response.AddHeader("X-UA-Compatible", "IE=EmulateIE8");
修复了此问题。 (摘自here)
但是,了解最初的方法为何行不通仍然很好。
太简单了,在下面的代码后面使用下面的代码。
Page.Title = "Meta title string here..";
Page.MetaKeywords = "Meta keyword string here..";
Page.MetaDescription = "Meta description string here..";