既然你还没有说,我假设你正在使用Razor引擎(新的MVC3项目的"默认").在这种情况下,您只需要在布局视图中插入一个新部分,并且只在需要插入元标记时才渲染该部分.
例如,使用新的ASP.NET MVC 3项目模板,您可以编辑Views\Shared\_Layout.cshtml文件,在结束</head>标记之前,执行以下操作:
@this.RenderSection("MetaContent", false)
</head>
Run Code Online (Sandbox Code Playgroud)
然后,在您需要的任何视图中,添加以下内容:
@section MetaContent
{
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
}
Run Code Online (Sandbox Code Playgroud)
如果由于某种原因仍在使用ASPX布局引擎,则可以使用<asp:ContentPlaceHolder>母版页中的<asp:Content>标记和视图中的标记完成相同的操作.
编辑:
由于您仍在使用ASP.NET Forms布局引擎,因此这与aspx语法中的基本思想相同:
在您的母版页中,添加标记:
<asp:ContentPlaceHolder ID="MetaContent" runat="server" />
</head>
Run Code Online (Sandbox Code Playgroud)
在.aspx视图中,您添加了一个新的内容部分(您应该已经至少有两个 - 标题和正文):
<asp:Content ID="Meta" ContentPlaceHolderID="MetaContent" runat="server">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
</asp:Content>
Run Code Online (Sandbox Code Playgroud)