剃刀引擎 - SEO Meta标签

时间:2011-04-03 17:39:50

标签: asp.net-mvc-3 seo razor meta-tags

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

@{
    ViewBag.Title = "Title";
    ViewBag.Description = "Test";
    ViewBag.Keywords = "Test1, Test2, Test3";
}

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

3 个答案:

答案 0 :(得分:54)

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

<head>
    ...
    @RenderSection("metas")
</head>

并在视野中:

@section metas
{
    <meta name="description" content="Test" />
    <meta name="title" content="Title" />
    <meta name="keywords" content="Test1, Test2, Test3" />
    ...
}

或在布局中:

<head>
    <meta name="description" content="@ViewBag.Description" />
    <meta name="title" content="@ViewBag.Title" />
    <meta name="keywords" content="@ViewBag.Keywords" />
    ...
</head>

并在视图中:

@{
    ViewBag.Title = "Title";
    ViewBag.Description = "Test";
    ViewBag.Keywords = "Test1, Test2, Test3";
}

答案 1 :(得分:25)

你可以像你一样做,但你必须在_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" />
}

答案 2 :(得分:1)

您需要在布局页面中发出使用这些值的<meta>标记 您可以通过编写@ViewBag.Description来获取代码中的值。