这节课大家先做个了解,知晓一下创建 ASP.NET Core 项目后会自动建立的一些文件和其中的对应指令。下图是我示例建立一个 MVC 项目后的文件结构,大家可以对应下表1.1来看。
总结这些技术使用的文件类型是很有用的,因为它们类似但又有所不同。如果读者不理解一些微妙但重要的区别,在尝试实现自己的项目时可能会导致很大的困惑。请注意表1.1 ASP.NET Core 中使用的文件类型比较中的差异:
技术 | 特殊文件名 | 文件扩展名 | 指令 |
Razor View (MVC) | .cshtml | ||
Razor Layout | .cshtml | ||
Razor View Start | _ViewStart | .cshtml | |
Razor View Imports | _ViewImports | .cshtml | |
Razor Component (Blazor) | .razor | ||
Razor Component (Blazor with page routing) | .razor | @page | |
" | |||
Razor Component Imports (Blazor) _Imports | _Impors | .razor | |
Razor Page | .cshtml | @page |
共享的 Razor 文件(如布局和局部视图)的命名约定是使用下划线 _ 作为前缀。例如,_ViewStart.cshtml、_Layout.cshtml 或 _Product.cshtml(这可能是用于渲染产品的局部视图)。
像 _MyCustomLayout.cshtml 这样的 Razor 布局文件与 Razor 视图文件完全相同。之所以将其视为布局文件,是因为它被设置为另一个 Razor 文件的 Layout 属性,如以下代码所示:
@{
Layout = "_MyCustomLayout"; // File extension is not needed.
}
警告!请注意使用正确的文件扩展名和文件顶部的指令,否则可能会出现意外的行为。
指令示例如下,但我们仅是展示示例,作用先不做具体讲解: