在我的MVC4剃须刀布局我使用@RenderSection,我不打扰
与@RenderBody.
与@RenderBody.
然后在视图中,我只是把所有内容放在一起.
这让我想知道@RenderBody除了以外还有什么意义
让不想把东西放在一起的人更容易.与@RenderBody有什么不同吗?
解决方法
@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