- ASP.NET Core 教程
- ASP.NET Core - 首页
- ASP.NET Core - 概述
- ASP.NET Core - 环境设置
- ASP.NET Core - 新建项目
- ASP.NET Core - 项目布局
- ASP.NET Core - Project.Json
- ASP.NET Core - 配置
- ASP.NET Core - 中间件
- ASP.NET Core - 异常处理
- ASP.NET Core - 静态文件
- ASP.NET Core - 设置 MVC
- ASP.NET Core - MVC 设计模式
- ASP.NET Core - 路由
- ASP.NET Core - 属性路由
- ASP.NET Core - 操作结果
- ASP.NET Core - 视图
- 设置 Entity Framework
- ASP.NET Core - DbContext
- ASP.NET Core - Razor 布局视图
- ASP.NET Core - Razor 视图启动
- ASP.NET Core - Razor 视图导入
- ASP.NET Core - Razor 标签助手
- ASP.NET Core - Razor 编辑表单
- ASP.NET Core - 身份概述
- ASP.NET Core - Authorize 属性
- 身份配置
- ASP.NET Core - 身份迁移
- ASP.NET Core - 用户注册
- ASP.NET Core - 创建用户
- ASP.NET Core - 登录和注销
- ASP.NET Core 有用资源
- ASP.NET Core - 快速指南
- ASP.NET Core - 有用资源
- ASP.NET Core - 讨论
ASP.NET Core - Razor 视图启动
本章将讨论 Razor 视图启动。MVC 中的 Razor 视图引擎遵循一种约定,它会在渲染单个视图中的代码之前,查找任何名为_ViewStart.cshtml的文件并执行其中的代码。
ViewStart 文件中的代码无法渲染到页面的 HTML 输出中,但它可以用来从单个视图中的代码块中移除重复代码。
在我们的示例中,如果我们希望每个视图都使用我们在上一章中创建的布局视图,我们可以将设置布局视图的代码放在 ViewStart 中,而不是将代码放在每个视图中。
示例
让我们来看一个简单的例子来说明它是如何工作的。在我们的应用程序中,我们不希望每个视图都指定其布局视图为_Layout.cshtml。因此,右键单击 Views 文件夹,然后选择添加→新建项。
ASP.NET MVC 中有一个用于 ViewStart 页面的特定模板,因此在中间窗格中选择 MVC View Start Page。这里最重要的部分是此文件名为_ViewStart.cshtml。现在单击“添加”按钮。
ViewStart 文件的主要用途是设置布局视图。
现在让我们转到 Index.cshtml 文件,剪切 Layout 行,然后将其添加到 ViewStart 文件中,如下面的程序所示。
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
当 MVC 框架去渲染一个视图时,它会查看文件夹层次结构中是否存在 ViewStart 文件。
我们将 _ViewStart 直接放在我们的 Views 文件夹中。这将影响 Views 文件夹内所有文件夹中的所有视图,包括 Home 文件夹和 Shared 文件夹内的视图,以及我们将来可能添加的任何其他控制器文件夹。
如果我们将 ViewStart 仅放在 Home 文件夹中,那么只有在我们渲染 Home 文件夹中的一个视图时,这段代码才会执行。
我们甚至可以有多个 ViewStart 文件,因此我们可以在 Views 文件夹中有一个 ViewStart.cshtml 文件,它为所有视图设置布局视图。
但是,如果我们想更改 Home 文件夹中所有视图的默认设置,我们可以在 Home 文件夹中再添加一个 ViewStart 文件,将布局设置为其他内容。
让我们保存所有文件并运行应用程序。
您将看到您的主页仍然与以前一样呈现,并且布局视图仍然有效。