- 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 - 视图
- 设置实体框架
- 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 - 授权属性
- 身份配置
- 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 View Start。MVC 中的 Razor 视图引擎有一个约定,它将查找名为_ViewStart.cshtml的任何文件并执行该文件内的代码。在单个视图内执行代码之前。
ViewStart 文件内的代码无法呈现到页面的 HTML 输出中,但它可用于从各个视图内的代码块中删除重复的代码。
在我们的示例中,如果我们希望每个视图都使用我们在上一章中创建的布局视图,我们可以将设置布局视图的代码放在 ViewStart 中,而不是将代码放在每个视图中。
例子
让我们举一个简单的例子来看看它是如何工作的。在我们的应用程序中,我们不希望每个视图都指定其布局视图是_Layout.cshtml。因此,右键单击 Views 文件夹并选择Add → New Item。
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,将布局设置为其他内容。
让我们保存所有文件并运行应用程序。
您将看到您的主页仍然按照以前的方式呈现,并且布局视图仍然有效。