剃刀引擎 - SEO Meta标签

Ase*_*tam 20 seo meta-tags razor asp.net-mvc-3

我需要为每个页面添加唯一的描述和关键字元标记.试过这个.但它没有点击.

@{
    ViewBag.Title = "Title";
    ViewBag.Description = "Test";
    ViewBag.Keywords = "Test1, Test2, Test3";
}
Run Code Online (Sandbox Code Playgroud)

如何将元标记放在MVC 3 Razor Engine中?

Dar*_*rov 55

在布局中,您可以定义一个部分:

<head>
    ...
    @RenderSection("metas")
</head>
Run Code Online (Sandbox Code Playgroud)

在视野中:

@section metas
{
    <meta name="description" content="Test" />
    <meta name="title" content="Title" />
    <meta name="keywords" content="Test1, Test2, Test3" />
    ...
}
Run Code Online (Sandbox Code Playgroud)

或在布局中:

<head>
    <meta name="description" content="@ViewBag.Description" />
    <meta name="title" content="@ViewBag.Title" />
    <meta name="keywords" content="@ViewBag.Keywords" />
    ...
</head>
Run Code Online (Sandbox Code Playgroud)

并在视图中:

@{
    ViewBag.Title = "Title";
    ViewBag.Description = "Test";
    ViewBag.Keywords = "Test1, Test2, Test3";
}
Run Code Online (Sandbox Code Playgroud)

  • 我想至少三次投票.简单,干净,正确到位. (3认同)

Car*_*any 26

你可以像你一样做,但你必须在_Layout.cshtml中链接它们.将其添加到以下<head>部分的_Layout.cshtml中:

@if(ViewBag.Description!=null)
{
    <meta name="description" content="@ViewBag.Description" />
}
@if(ViewBag.Keywords!=null)
{
    <meta name="keywords" content="@ViewBag.Keywords" />
}
Run Code Online (Sandbox Code Playgroud)