ASP.NET MVC之Layout布局与@RenderBody、@RenderPage、@RenderSection

@RenderBody

@RenderBody是布局页(_Layout.cshtml)通过占位符@RenderBody占用独立部分,当创建基于此布局页的试图时,视图的内容会和布局页合并,而新创建的视图内容会通过布局页的@ReanderBody方法呈现在Body之间。

此方法不需要参数,且只能出现一次。

@RenderPage

要引用呈现的视图,如网站头部、底部可单独放在一个共享的视图文件夹中,然后在布局页中使用@RenderPage方法来引用,方法如下:

@RenderPage("~/Views/Shared/_Header.cshtml")
@RenderBody()
@RenderPage("~/Views/Shared/_Bottom.cshtml")

@RenderSection

@RenderSection就是在Layout布局页中定义了分段,留给使用该布局页的视图来实现。@Rendersection提供两个参数。

注:@RenderSection("head"),则表示视图中必须实现,否则会报异常错误。

      @RenderSection("head", required: true),则表示视图中也必须实现,否则会报异常错误。

      @RenderSection("head", required: false),则表示视图中可实现或不实现。

      RenderSection实现默认内容:

@if (IsSectionDefined("head"))
{
  @RenderSection("head", false);
}
else
{
  <p>head的默认内容</p>
}

 @IsSectionDefined是判断某个分段是否存在,如果存在就输出,否则输出默认内容。

在视图页中的实现方式:

@section head
{
      ........
}

源码下载

转载于:https://www.cnblogs.com/liujie2272/p/6279925.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值