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

    源码下载

  • 相关阅读:
    转: sql语句获取本周、本月数据
    Java 程序中的静态代码块
    Java 控制台程序输出计时器代码
    网页出现“繁体字”?
    html5中video视频只有声音没有图像
    Clipboard 剪辑板
    区分window8中 ie10 window phone8
    void 0
    touch pointer
    全局作用域 eval
  • 原文地址:https://www.cnblogs.com/liujie2272/p/6279925.html
Copyright © 2011-2022 走看看