我是Asp.Net MVC3的初学者。谁能解释一下此代码的含义:
@section head
{
@RenderSection("head", false)
}
在ScottGu的文章中:
http://weblogs.asp.net/scottgu/archive/2010/12/30/asp-net-mvc-3-layouts-and-sections-with-razor.aspx
有一个RenderSection的示例,但它定义了@section,然后使用了@RenderSection。在这种情况下,定义了head头,并且在该头中渲染了同一头,这让我感到困惑。
RenderSection做什么,我如何在这里找到正在渲染的东西?
最佳答案
斯科特曾经写过
因此,RenderSection的作用是渲染模板/ View 中定义的部分(而不是常规的_Layout)。
在“在我们的 View 模板中实现“SideBar”部分”下面的内容中,他进一步解释了如何实现该部分。
因此,总而言之,您将拥有一个名为“head”的部分,该部分将在 View 中进一步向下/嵌套的位置显示一个名为“head”的部分。
编辑:看看http://blogs.msdn.com/b/marcinon/archive/2010/12/15/razor-nested-layouts-and-redefined-sections.aspx看看我的意思是嵌套 View -但请注意,这篇文章已有一年多了。
MasterLayout:
@RenderSection("head", false)
子版面:
@{
Layout = "~/Views/_MasterLayout.cshtml";
}
@section head
{
@RenderSection("head")
}
内容:
@{
Layout = "~/Views/_SubLayout.cshtml";
}
@section head
{
<title>Content-Layout</title>
}