zoukankan      html  css  js  c++  java
  • 布局视图_Layout.cshtml

     转:https://www.cnblogs.com/jesen1315/p/11041967.html

      布局视图和我们在Asp.Net MVC一样,布局视图_Layout.cshtml使得所有视图保持一致的外观变得更加容易,因为我们只有一个要修改的布局视图文件,更改后将立即反映在整个应用程序的所有视图中。

      在 ASP.NET Core MVC 中,有一些视图文件,如布局的视图,_ViewStart.cshtml 和_ViewImports.cshtml 等其他.cshtml 文件的文件名以下划线开头,这些文件名中的前下划线表示这些文件不是直接面向浏览器。

      我们可以在单个应用程序中包含多个布局视图文件。比如一个布局视图文件服务为管理员用户,另外一个不同的布局视图文件服务于普通用户。

      我们一般将布局视图建在Views/Shared文件夹下,以_Layout.cshtml命名。

    复制代码
    <!DOCTYPE html>
    
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>@ViewBag.Title</title>
    </head>
    <body>
        <div>
            <!--@RenderBody()是注入视图特定内容的位置。例如,如果使用此布局视图呈现 index.chtml 视图,则会在我们 调用@RenderBody()方法 的位置注入 index.cshtml 视图内容 。-->
            @RenderBody()
        </div>
    
        @*@if (IsSectionDefined("Scripts"))
        {
            @RenderSection("Scripts");
        }*@
    
        @RenderSection("Scripts", false);
    
    </body>
    </html>
    复制代码

      我们可以在Views/_ViewStart.cshtml指定启用哪个布局页,因为请求的时候会先找到_ViewStart.cshtml。

    复制代码
    @{
        Layout = "_Layout";
    }
    
    @if (User.IsInRole("Admin"))
    {
        Layout = "_AdminLayout";
    }
    else
    {
        Layout = "_NoAdminLayout";
    }
    复制代码

      同时,如果我们在很多页面都使用同一个命名空间,同一个model的话,我们可以在Views/_ViewImports.cshtml文件中添加共用的命名空间,model。

    复制代码
    @using StudentManagement.Models;
    @using StudentManagement.ViewModels;
    
    @*还支持以下指令*@
    @*
        @addTagHelper
        @removeTagHelper
        @tagHelperPrefix
        @model
        @inherits
        @inject
    *@
    复制代码

      需要注意的是,_ViewStart和_ViewImports是支持分层的,除了将它放在 Views 文件夹中之外,我们还可以在 Views 文件夹的“Home”子文件夹中放置另一个_ViewImports,在文件 Home 的文件夹中的\_ViewImports将覆盖在 Shared 文件夹中的\_ViewImports文件指定的设置。

  • 相关阅读:
    XAMPP重要文件目录及配置
    xmlhttp
    深入php内核,从底层c语言剖析php实现原理
    史上最全的MSSQL复习笔记
    LNMP状态管理命令
    SSL证书更换(具体路径可参考iRedMail.tips文件)及邮件服务器架构
    (转)CentOS 7 —— /etc/rc.local 开机不执行
    从CMDB查询云平台组件或者IP简单脚本
    将电脑文件复制到vm虚拟机中,然后安装步骤
    Linux-vmware tools安装与cdrom挂载(转)
  • 原文地址:https://www.cnblogs.com/wangle1001986/p/12186676.html
Copyright © 2011-2022 走看看