Asp.Net Core Tag Helpers 在子目录中不可用

Tha*_*den 6 asp.net razor tag-helpers asp.net-core

根据文档

@addTagHelper指令使标签助手可用于视图。本例中,视图文件为Views/_ViewImports.cshtml,默认为Views文件夹及子目录下的所有视图文件继承;使标签助手可用。

所以我导入了标签助手Views\_ViewImports.cshtml

@using MyProject
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
Run Code Online (Sandbox Code Playgroud)

它们可以很好地处理文件Views夹内的文件。

但是,在文件中Views/Home/Index.cshtml,我不支持标签助手,它们也没有正确呈现为链接。当我将其复制_ViewImports.cshtml到文件夹中时Views/Home,一切都按预期进行。

那么我错过了什么?

更新

那么我错过了什么?我_ViewImports.cshtml被放在文件夹中Views/Shared(d'oh)。将其移至 后Views,TagHelper 在任何地方都按预期工作。

Jan*_*han 4

我尝试了一个空白的新 ASP.NET Core 1.0 项目,并添加它在Views/Home/Index.cshtml视图下工作正常。这是你必须做的(确保它可用):

将以下包和工具部分添加到您的project.json文件中:

"dependencies": {
"Microsoft.NETCore.App": {
  "version": "1.0.0",
  "type": "platform"
},
"Microsoft.AspNetCore.Diagnostics": "1.0.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.0",

"Microsoft.AspNetCore.Razor.Tools": {
  "version": "1.0.0-preview2-final",
  "type": "build"
  }  
},
Run Code Online (Sandbox Code Playgroud)

"tools": {
  "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
  "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
},
Run Code Online (Sandbox Code Playgroud)

在 Views 文件夹(您已经有一个)下创建一个_ViewImports.cshtml文件,其中包含您提到的内容。

注意:您可能需要重新启动 VS 才能使其正常工作。