zoukankan      html  css  js  c++  java
  • 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
    {
          ........
    }

    源码下载

  • 相关阅读:
    tomcat 乱码问题
    mongo获取lbs数据
    sping mvc+uploadify 上传文件大小控制3部曲
    jstack 查看线程状态
    nginx 限流配置
    查找占用CPU高线程
    redis sentinel无法启动问题
    GC垃圾回收机制
    ASP.NET 生命周期
    Javascript验证手机号码正则表达式
  • 原文地址:https://www.cnblogs.com/liujie2272/p/6279925.html
Copyright © 2011-2022 走看看