Asp.net mvc MVC-从视图写入头部部分

Asp.net mvc MVC-从视图写入头部部分,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,我需要在视图的页面部分呈现一个meta标记。例如,视图包含所有产品信息,我想将产品信息添加到头部,但只能从产品页面访问 有人有什么想法吗 感谢了解如何定义和使用节-它们允许您从视图写入其他区域 或者在ViewBag中定义元标记项,将头部中的ViewBag.meta写为元标记,并在控制器中填充该ViewBag属性-顺序正常。在布局中,在头部定义一个部分。我们可以使用helper方法来实现这一点 如果要在布局页面中呈现可选内容部分,请使用RenderSection方法。所以我们会像这样更新我们的布局

我需要在视图的页面部分呈现一个meta标记。例如,视图包含所有产品信息,我想将产品信息添加到头部,但只能从产品页面访问

有人有什么想法吗


感谢

了解如何定义和使用节-它们允许您从视图写入其他区域


或者在ViewBag中定义元标记项,将头部中的ViewBag.meta写为元标记,并在控制器中填充该ViewBag属性-顺序正常。

在布局中,在头部定义一个部分。我们可以使用helper方法来实现这一点

如果要在布局页面中呈现可选内容部分,请使用
RenderSection
方法。所以我们会像这样更新我们的布局

<head>
  <title>@ViewBag.Title</title>
  <script src="@Url.Content("~/Scripts/jquery.min.js")" type="text/javascript" />
  @RenderSection("MetaContent", false)
</head>
<body>
 @RenderBody()
</body>
在布局中定义节时,我们使用
false
作为第二个参数值。这意味着本节不是必需的。您不需要从所有视图/页面传递元信息

检查Scottgu关于部分和布局的内容

@model ProductViewModel
<h1>@Model.ProductName</h1>
<div>@Model.ProductDesc</div>
@section MetaContent
{
  <meta name="description" content="@Model.MetaDescription" />
}