通常会使用外层模板的view,当做公共的模块
通常叫做_Layout.cshtml

views下新建Shared文件夹


主要关注RenderBody,这里会具体渲染Action返回的内容View

layout的title是在这里

ViewBage是个dynamic动态类型。既然是动态类型,我就可以在它身上写一些属性进行动态赋值

在Home/Index.cshtml内加了代码段,如果使用了Layout作为模板的话, 这里加的代码会先渲染。然后到了layout页面。@ViewBag他已经有值了 就会渲染出来
每个页面都可以引用layout,都可以设置title的值,这个值就是动态的

引入模板页。波浪线是指的整个web项目的根目录

运行页面只看到title的效果

在模板页面加点内容

刷新就看到模板页的内容

Section代码块

现在只有这一块区域是动态的,有时候还需要其他的区域也是动态的
添加一个底部的区域

把代码包在代码块里

_ViewStart.cshtml

在Razor引擎,选择具体的Action的View页面之前会先找VIewStat.cshtml这个文件,如果这个文件存在的话
那么首先就会执行这个文件内的代码,然后才会执行其他View里面的代码,这里适合放重复性的代码,每个View有的代码
比如Layout引入的这段代码

Views/_ViewStart.cshtml。名字必须是_ViewStart.cshtml。路径必须放在Views文件夹根目录下,这样才会对Views下的所有的页面起作用,
如果把它房子啊Home文件夹下,那么只会对Home文件夹下的View视图页面起作用


运行查看效果,明细页面也引用了layout

添加页面也引用了

_ViewImports.cshtml


也是在View根目录下

把TagHelper的引入放在这里了

在Home/Index.cshtml要使用这个Model。要么是命名空间全写上

要么是使用using引入这个命名空间

把引入的代码放在_VIewImport.cshtml页面内

这里就不用写了

这是因为在渲染其他的页面之前,也会先找_VIewImport.cshtml。这里面适合做引用,引用自定义的名称空间和TagHelper。
也是ViewStart一样有结构性的。放在VIews根目录就会所有页面起作用,

其他页面的引用都可以移到这里

运行页面,都可以正常运行

ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 11. Views 上的更多相关文章

  1. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 03. 服务注册和管道

    ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 03. 服务注册和管道 语雀: https://www.yuque.com/yuejiangliu/dotnet/ ...

  2. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 25. 过滤器

    在MVC的请求管道 并不是  asp.net core的请求管道.所以说Filter是专用于MVC的 贯穿特性,横穿关注点.比如授权.日志 这里的Authorize其实就是一个Filter,主要用来授 ...

  3. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 02. Web Host 的默认配置

    视频地址: https://www.bilibili.com/video/av38392956/?p=2 语雀 https://www.yuque.com/yuejiangliu/dotnet/ixt ...

  4. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 12. Views 下

    ASP.NET Core MVC 13. 安装前端库 Partial VIew 就是部分View,他没有自己的数据,数据来自图中白色的那块,它的数据需要传进去,第一个参数是View的名称,第二个参数就 ...

  5. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 04. 中间件

    注册startup类可以配置我们web应用的启动逻辑,使用的就是UseStartUp方法,asp.net core就会实例化这个类 并调用startup类里面的两个方法ConfigureService ...

  6. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 13. 安装前端库

    前端库使用npm进行安装,需要先建立webpack.json文件 因为我们没有使用npm安装任何库,所以npm的文件夹是空的 这里是用于开发时构建时引用的库写在这里 这里用到bootStrap 开发时 ...

  7. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 27. CICD Azure DevOps

    VSTS做持续集成 后来改名叫做Azure Deveps https://azure.microsoft.com/zh-cn/services/devops/ 这是中文的地址 创建一个项目 名称.描述 ...

  8. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 01. 创建项目 +项目结构和配置简介

    新建项目:Tutotial.Web 解决方案名称可以把web去掉 视频里面把git这个选项勾选了.我就不勾选了 dotnet CLI创建项目 首先必须安装好了.net Core的SDK dotnet ...

  9. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 05.Controller 的路由

    视频地址: https://www.bilibili.com/video/av38392956/?p=5 这里面就包含了MVC相关的库 可以通过打开右侧的Nuget库进行查看 这里修改下 ,只需要静态 ...

  10. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 06. Controller 返回View

    Controller父类会提供很多上下文的相关信息,还提供了很多封装的方法 返回的对象要求实现了IActionResult接口 继承父类,并引入命名空间 写this点就出现很多东西,这些就是上下文的信 ...

随机推荐

  1. js监听鼠标点击操作

    element.addEventListener('click', function() { /* do stuff here*/ }, false);

  2. POJ 1083 && HDU 1050 Moving Tables (贪心)

    Moving Tables Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  3. dm8127/8148下怎样进行dsplink的编写

    样例:从A8读入1080p的yuv420sp的数据给dsplink,在dsp 中建立一个link(做一些图像处理的工作).然后将yuv420sp的数据发送到videoM3做jpeg编码,然后在传递到A ...

  4. Loadrunner IP欺骗

    一.为什么要设置IP欺骗 1. 当某个IP的訪问过于频繁,或者訪问量过大时,server会拒绝訪问请求.这时候通过IP欺骗能够添加訪问频率和訪问量,以达到压力測试的效果. 2. 某些server配置了 ...

  5. centos下的hadoop集群实现ssh的无密码登陆

    CentOS 下SSH无密码登录的配置 最近学习Hadoop.它要求各节点之间通过SSH无密码登录,配置SSH的时候费了一番功夫,记录下来,以备忘. 配置SSH无密码登录需要3步: 1.生成公钥和私钥 ...

  6. async & await 的前世今生(Updated)----代码demo

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. appium安装报错但运行成功

    npm install -g  appium ERR! fetch failed https://registry.npmjs.org/appium-uiauto/-/appium-uiauto-1. ...

  8. GitExtensions 官方手册(英文)

    在线版本(最新版):https://git-extensions-documentation.readthedocs.io/en/latest/ PDF版本(版本号 2.48):http://pan. ...

  9. OpenMAX IL介绍与其体系

    1  OpenMAX IL介绍与其体系 这一部分的文档描写叙述 OpenMAX IL的特性与体系. 1.1  OpenMAX IL 简述 OpenMAX IL 软件接口层定义了一套API.用于訪问系统 ...

  10. Codeforces Beta Round #25 (Div. 2 Only)D. Roads not only in Berland

    D. Roads not only in Berland time limit per test 2 seconds memory limit per test 256 megabytes input ...