在我的MVC4剃须刀布局中,我正在使用@RenderSection
,我不打扰
与@RenderBody
。
然后在视图中我只是将所有内容放在一起。
这让我想知道除了@RenderBody
之外还有什么意义
让不想放东西的人更容易。与@RenderBody
和@RenderSection
内的某些内容有什么不同吗?
答案 0 :(得分:18)
@RenderBody
呈现不在任何命名部分内的网页内容。如果您的内容的全部位于您定义的某个部分中,那么没有意义。然而...
在Razor语法中,@RenderSection
替换母版页。它允许您为特定区域划分页面的各个部分,然后允许内容的主体自然地出现在@RenderBody
声明所在的任何位置。
假设您正在撰写发票。 RenderBody
区域是包含发票订单项的页面部分。大多数报告都是如此;总是有标题部分,正文部分和页脚部分。
据推测,在网页的适当区域中呈现一个部分可以让您获得正确的语义行为,例如以始终显示在页面底部的方式设置页脚样式。
<footer>
@RenderSection("Footer", @<span>This is my footer!</span>)
</footer>
http://msdn.microsoft.com/en-us/vs2010trainingcourse_aspnetmvc3razor_topic2.aspx
http://haacked.com/archive/2011/03/05/defining-default-content-for-a-razor-layout-section.aspx