mvc4的@RenderBody()和@RenderSection()

 @RenderBody():呈现子页的主体内容

  @RenderSection():呈现特别的节部分。

  HelperResult RenderSection(string name, bool required = true);

  required默认为true必须覆写,设为false则为可选覆写;

  注意的是:该函数在RC版中参数有所改变,参数中optional改为required,据说和VB的关键字冲突

 

下图则为我在子页的页脚部分覆写,在子页实现时,使用@section 自定义节名{ }格式。

技术分享

 如果我们想在父页里写一个默认实现节,在子页作为可选实现该怎么做呢?

  这个在MasterPage是直接支持的,但在Razor里就要稍显复杂些,个人觉得这种写法还可以改进下;

  如下图所示,我在父页写了一个默认的页脚实现,如果子页有实现则使用子页实现,没有就用默认实现。

  这里要先通过bool IsSectionDefined(string name)函数判断是否有子页实现,有则调用子页实现。

技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。