ViewImports 文件

_ViewImports.cshtml 文件的目的是提供一种机制,将指令符应用到全局的 Razor 页面,不必单独添加到每一个页面中。

默认的 Razor 页面项目模板在_Pages_(Razor 页面的根文件夹)文件夹中包含一个 _ViewImports.cshtml 文件。_ViewImports.cshtml 文件中设置的指令会影响当前文件夹层次结构中的所有 Razor 页面。

_ViewImports.cshtml 文件支持以下指令

  • @addTagHelper
  • @inherits
  • @inject
  • @model
  • @removeTagHelper
  • @tagHelperPrefix
  • @using

@addTagHelper@removeTagHelper@tagHelperPrefix指令与标签助手的管理有关;@inherits指令用于指定所有受影响的页面继承的基类;@inject指令通常用来支持依赖注入@model指令用于指定PageModel;@using指令引用命名空间到文件夹层次结构中的所有页面。

默认的 _ViewImports.cshtml 文件通常包含两个指令:

  • @using指令,用于指定提供给_Pages_文件夹的名称空间(例如MyApplication.Pages);
  • @addTagHelper指令,使Microsoft.AspNetCore.Mvc.TagHelpers库中的标签助手可应用到网页。
@namespace MyApplication.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

Razor 页面应用程序可以支持多个 _ViewImports.cshtml 文件。可以将其它 _ViewImports.cshtml 文件放置在子文件夹中,可以在上一级 _ViewImports.cshtml 文件基础上追加或覆盖设置。 @addTagHelper@removeTagHelper@inject@using指令是追加,其它的指令则是覆盖。 因此,如果在子文件夹的 _ViewImports.cshtml 文件中指定了不同的@model指令,那么在_Pages_根文件夹中指定的模型将被子文件夹中的覆盖。


如果您在查阅过程中,发现内容存在错误,请到我的博客中留言,谢谢,http://www.cnblogs.com/tdfblog/p/learn-razor-pages.html
最后一次更新时间: 2018-02-07 03:38:39