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
    {
          ........
    }

    源码下载

  • 相关阅读:
    HDU 4619 Warm up 2 (多校)
    深入浅出Node.js (9)
    HDU 1106 排序(排序)
    字符串相关心得
    HDU 2547 无剑无我(数学)
    HDU 2549 壮志难酬(字符串,处理小数点)
    HDU 2551 竹青遍野(循环,水)
    HDU 2552 三足鼎立(数学函数)
    HDU 2555 陷阱(模拟,结构体数组)
    HDU 2561 第二小整数(排序,水)
  • 原文地址:https://www.cnblogs.com/liujie2272/p/6279925.html
Copyright © 2011-2022 走看看