在 ASP.NET Core MVC 中,我们可以将一个具有确切名称的文件放在一个文件_ViewStart.cshtml夹中,以包含要在该文件夹中的每个 razor 视图/页面之前运行的通用 C# 代码。像这样的东西:
@{
const string SomeConstant = "some value";
}
Run Code Online (Sandbox Code Playgroud)
类似地,_ViewImports.cshtml在文件夹内具有确切名称的文件可以包含要在该文件夹中的 razor 视图/页面之间共享的所有常见 razor 指令。像这样:
@layout _Layout
@using MyApp.Models
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
Run Code Online (Sandbox Code Playgroud)
但这里有一个我无法用谷歌搜索的问题,无论我如何改写:
有人可以向我解释为什么我们有 a_ViewStart.cshtml和 a_ViewImports.cshtml来定义通用代码和指令吗?为什么不在单个文件中定义这些功能(似乎并不相互冲突)?