我需要为每个页面添加唯一的描述和关键字元标记。试过这个。但它没有点击。
@{
ViewBag.Title = "Title";
ViewBag.Description = "Test";
ViewBag.Keywords = "Test1, Test2, Test3";
}
如何将元标记放在MVC 3 Razor Engine中?
答案 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
来获取代码中的值。