ASP.NET MVC 3中的元标记

eom*_*off 2 meta-tags asp.net-mvc-3

如何将元标记仅用于一个页面.如果我想把它.aspx文件,哪里是正确的地方.

谢谢.

Mic*_*eld 8

既然你还没有说,我假设你正在使用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)