如何使用控制器操作在html头中的元描述标记<meta name="description">
中添加值?
public ActionResult Details(int id = 0, string name = "")
{
Category category = db.Categories.Find(id);
string seodescription = string.Empty;
switch (id)
{
case 1: { seodescription = "1"; break; }
case 2: { seodescription = "2"; break; }
case 3: { seodescription = "3"; break; }
case 4: { seodescription = "4"; break; }
case 5: { seodescription = "5"; break; }
case 8: { seodescription = "6"; break; }
default: {seodescription = string.Empty; break;}
}
if (seodescription != string.Empty)
{
// here
}
}
答案 0 :(得分:4)
您可以在ViewBag中传递说明:
ViewBag.MetaDescription = "Description to use";
在视图中渲染&lt; meta&gt;标签
由于您可能正在使用Layouts并且元标记位于标题中,因此您应该将代码放在“布局”页面中:
@if (ViewBag.MetaDescription != null) {
<meta name="description" content="@ViewBag.MetaDescription">
}
答案 1 :(得分:1)
这是另一种方式,仅供参考:
将它放在你的布局文件中
@RenderSection("meta", required: false)
然后在你的观点中:
@section meta{
<meta name="description" content="Content from either the view model or just plain text">
}
在某些情况下,这种方法可以更好地为您提供服务,例如,如果您希望前端人员能够编辑标签。