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

    源码下载

  • 相关阅读:
    03.部署 kubectl 命令行工具
    02.创建 CA 证书和秘钥
    01.组件版本和集群环境
    23.kubernetes 组件版本和配置策略
    22.Kubernetes Ingress: HTTP 7层路由机制
    Python程序中#-*-coding: UTF-8 -*-的作用
    Python程序中首行#!/usr/bin/env python的作用
    mac install php dev
    linux的nohup disown setsid screen
    linux 常用查找命令 小技巧
  • 原文地址:https://www.cnblogs.com/liujie2272/p/6279925.html
Copyright © 2020-2023  润新知