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

    源码下载

  • 相关阅读:
    Mac从零配置Vim
    Mac效率:配置Alfred web search
    看看你的邻居在干什么
    成功破解邻居的Wifi密码
    MacBook安装Win10
    C陷阱:求数组长度
    Nexus 6P 解锁+TWRP+CM
    搭建树莓派手机远程开门系统
    Ubuntu下配置ShadowS + Chrome
    JS传参出现乱码(转载)
  • 原文地址:https://www.cnblogs.com/liujie2272/p/6279925.html
Copyright © 2011-2022 走看看