ASP.NET Core 5.0 MVC中的视图分类——布局视图、启动视图、具体视图、分部视图
一、创建MVC应用程序
创建后的项目
二、(全局性)启动视图 _ViewStart.cshtml
顾名思义,就是在View开始执行之前执行,而且是每一个View, 它的预设内容是
- @{
- Layout = "_Layout";
- }
我们可以在这个页面,添加一些全局性的内容,比如全局变量等,然后在具体View页面使用这些变量值
三、(全局性)导入视图_ViewImports.cshtml,
它的作用是放一些要引用的命名空间,之后的每一个View就不用再引用这些命名空间了,_ViewImports.cshtml一样。它的预设内容是
- @using net5MVC
- @using net5MVC.Models
- @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
在这个页面,我们根据页面需要去引用命名空间,它的作用范围是全局的。在这个页面添加文本是没有效果的。
四、布局视图_Layout.cshtml
它的作用是让所有的视图页保持一致的外观,比如说 统一的 左侧目录、统一的头部导航、头部轮廓图、统一底部官网链接等。它的预设内容是
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>@ViewData["Title"] - net5MVC</title>
- <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
- <link rel="stylesheet" href="~/css/site.css" />
- </head>
- <body>
- <header>
- <nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
- <div class="container">
- <a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">net5MVC</a>
- <button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".navbar-collapse" aria-controls="navbarSupportedContent"
- aria-expanded="false" aria-label="Toggle navigation">
- <span class="navbar-toggler-icon"></span>
- </button>
- <div class="navbar-collapse collapse d-sm-inline-flex justify-content-between">
- <ul class="navbar-nav flex-grow-1">
- <li class="nav-item">
- <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
- </li>
- <li class="nav-item">
- <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
- </li>
- </ul>
- </div>
- </div>
- </nav>
- </header>
- <div class="container">
- <main role="main" class="pb-3">
- @RenderBody()
- </main>
- </div>
- <footer class="border-top footer text-muted">
- <div class="container">
- © 2021 - net5MVC - <a asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
- </div>
- </footer>
- <script src="~/lib/jquery/dist/jquery.min.js"></script>
- <script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
- <script src="~/js/site.js" asp-append-version="true"></script>
- @await RenderSectionAsync("Scripts", required: false)
- </body>
- </html>
五、添加数据,查看运行效果
将下面这些数据,加到各自页面中,运行Index页面观察效果
- <h2 style="color:red">_ViewStart.cshtml页面</h2>
- <h2 style="color:green">_Layout.cshtml页面</h2>
- <h2 style="color:darkgoldenrod">_ViewImport.cshtml页面</h2>
- <h2 style="color:blue">Index.cshtml页面</h2>
- _ViewStart.cshtml页面
_Layout.cshtml页面
_ViewImport.cshtml页面
Index.cshtml页面
在index.cshtml上 F5,运行
六、(自定义)分部页_PartialIndex.cshtml
1. 在Index相同的目录下新建视图页_PartialIndex,并加入一些数据
2. 在Index页面,引入该分部页内容
3. 运行,查看效果
ASP.NET Core 5.0 MVC中的视图分类——布局视图、启动视图、具体视图、分部视图的更多相关文章
- ASP.NET Core 5.0 MVC中的 Razor 页面 介绍
Razor 是一个用于将基于服务器的代码嵌入到网页中的标记语法. Razor语法由 Razor 标记.c # 和 HTML 组成. 通常包含 Razor 的文件的扩展名 cshtml Razor 语法 ...
- ASP.Net Core 5.0 MVC中AOP思想的体现(五种过滤器)并结合项目案例说明过滤器的用法
执行顺序 使用方法,首先实现各自的接口,override里面的方法, 然后在startup 类的 ConfigureServices 方法,注册它们. 下面我将代码贴出来,照着模仿就可以了 IActi ...
- ASP.NET Core 2.0 MVC项目实战
一.前言 毕业后入职现在的公司快有一个月了,公司主要的产品用的是C/S架构,再加上自己现在还在学习维护很老的delphi项目,还是有很多不情愿的.之前实习时主要是做.NET的B/S架构的项目,主要还是 ...
- asp.net core 3.0 MVC JSON 全局配置
asp.net core 3.0 MVC JSON 全局配置 System.Text.Json(default) startup配置代码如下: using System.Text.Encodings. ...
- ASP.NET CORE 1.0 MVC API 文档用 SWASHBUCKLE SWAGGER实现
from:https://damienbod.com/2015/12/13/asp-net-5-mvc-6-api-documentation-using-swagger/ 代码生成工具: https ...
- ASP.NET Core 3.0 WebApi中使用Swagger生成API文档简介
参考地址,官网:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view ...
- asp.net Core 2.0 MVC为Controller或Action添加定制特性实现登录验证
前言:最近在倒腾 微软的新平台 asp.net Core 2.0,在这个过程中有些东西还是存在差异.下面是我在学习过程的一点笔记.有不妥之处,望各位大虾指正! 一.先创建一个控制器继承于Control ...
- ASP.NET Core 2.0 MVC - 获取当前登录用户信息
一.前言 上篇实战完成后,没想到会有那么多的圈友给了那么多的支持,甚至连只是作为代码仓储的git上也给了一些小星星,真的感觉很惶恐啊,哈哈哈,毕竟代码写的很烂啊.由于上一篇只是大概说了下项目,所以准备 ...
- ASP.Net Core 5.0 MVC 配置文件读取,Startup 类中ConfigureServices 方法、Configure 方法的使用
配置文件读取 1. 新建FirstController控制器 在appsettings文件内容替换成以下代码 { "Position": { "Title": ...
随机推荐
- vue3系列:vue3.0自定义弹框组件V3Popup|vue3.x手机端弹框组件
基于Vue3.0开发的轻量级手机端弹框组件V3Popup. 之前有分享一个vue2.x移动端弹框组件,今天给大家带来的是Vue3实现自定义弹框组件. V3Popup 基于vue3.x实现的移动端弹出框 ...
- ESP8288-01S/ESP8288-01使用经验总结
如图:ESP8288-01S/ESP8288-01的区别 超链接 ESP8288-01S/ESP8288-01是乐鑫公司推出的Wi-Fi模块,因为价格便宜迅速占领了市场,它可以做AT指令开发,也可以做 ...
- 最全总结 | 聊聊 Python 办公自动化之 PPT(中)
1. 前言 上一篇文章简单地介绍了 PPT 的文档结构,并使用 python-pptx 这个依赖库完成对 PPT 文档最基本的操作 最全总结 | 聊聊 Python 办公自动化之 PPT(上) 作为 ...
- 注意力论文解读(1) | Non-local Neural Network | CVPR2018 | 已复现
文章转自微信公众号:[机器学习炼丹术] 参考目录: 目录 0 概述 1 主要内容 1.1 Non local的优势 1.2 pytorch复现 1.3 代码解读 1.4 论文解读 2 总结 论文名称: ...
- Linux sed 命令总结
一.sed格式命令 sed 命令行格式为:sed [选项] 'command' 输入文本 二.sed命令的选项 sed [选项] [动作] 选项与参数: -n :使用安静(silent)模式.在一般 ...
- 消息队列 ---常用的 MQ 中间件
目前市面上比较常用的 MQ(Message Queue,消息队列)中间件有 RabbitMQ.Kafka.RocketMQ,如果是轻量级的消息队列可以使用 Redis 提供的消息队列,其中 Redis ...
- KDiff3 Merge工具的使用 极简教程
www.swack.cn - 原文链接:KDiff3 Merge工具 1.软件安装 下载链接:KDiff3-64bit-Setup_0.9.98-2.exe 安装KDiff3 git config - ...
- Docker PHP 扩展配置
# PHP 容器配置 # 从官方基础版本构建 FROM php:7.2-fpm # 官方版本默认安装扩展: # Core, ctype, curl # date, dom # fileinfo, fi ...
- Java 中 Executors.newSingleThreadExecutor() 与Executors.newFixedThreadPool(1)有什么区别
在研究Executors提供的线程池时自然会想到标题这个问题,既然已经有了newFixedThreadPool,为什么还要存在newSingleThreadExecutor这个方法.难道newFixe ...
- OBKoro1的2020年年终总结
前言 一晃眼2020年马上就要过去了,今年感觉过的特别快. 工作已经三年了,之前都没有写过年终总结,结果造成了下面这个现象: 回首过去的几年,记忆已经很模糊了,需要很用力才能想起过去一部分往事. 人生 ...