视图中可以使用Razor指令。这些指令可以实现很多东西。
比如导入命名空间,执行依赖注入等
许多视图的共享指令可以在公共的_ViewImports.cshtml文件中指定。
_ViewImports文件相当于一个视图的专门用来进行引入的文件。
它支持下面的指令:
@addTagHelper
@removeTagHelper
@tagHelperPrefix
@using
@model
@inherits
@inject
_ViewImports.cshtml文件不支持其他的Razor特性 比如函数 和section部分等。
它也是在Views文件夹下面
@using FirstCoreMVC
@using FirstCoreMVC.Models
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpersCode language: CSS (css)
不过ViewImports.cshtml可以存放在任意的文件夹中的。只不过它只能应用于它所在的文件夹以及它的子文件夹中的视图。不过根的ViewImports.cshtml可能会被子的_ViewImports.cshtml覆盖
另外 一些指令是可以被覆盖的。比如@model指令 但是有些指令是会累加的。比如@addTagHelper
如果视图中能被多个ViewImports.cshtml”照顾”到,则ViewImports.cshtml中的指令组合行为如下
1 @addTagHelper,@removeTagHelper:按顺序全部运行。
2 @tagHelperPrefix 与视图最近的一个覆盖任何其他的tagHelperPrefix
3 @model 与视图最近的将覆盖其他的任何的
4 @inherits与视图最近的将覆盖其他的任何的
5 @using 包含所有的using 重复的会忽略
6 inject 对于每个属性,与视图最近的一个属性将覆盖具有相同属性名称的任何其他属性。
Previous: 22- RenderBody和RenderSection的使用
Next: 25-标签助手 Tag Helpers