2016-07-14 53 views
3

不可用Asp.Net核心标签助手按照documentation在子目录

@addTagHelper指令使其可查看代码助手。在这种情况下,视图文件是Views/_ViewImports.cshtml,默认情况下,该视图文件由Views文件夹和子目录中的所有视图文件继承;使标签助手可用。

于是我进口标签助手在Views\_ViewImports.cshtml

@using MyProject 
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 

,他们在Views文件夹内的文件工作。

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

那么我错过了什么?

更新

所以我缺少什么?我的_ViewImports.cshtml已放入文件夹Views/Shared(d'oh)。将它移动到Views后,TagHelpers随处可用。

+1

它适合我。如果您已经创建了自己的taghelper,那么您必须在_ViewImports.cshtml文件中为其创建条目。 – dotnetstep

+0

我想使用微软定义的helpers,即'asp-controller'和'asp-action'。 – Thaoden

回答

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" 
    } 
}, 

"tools": { 
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final", 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final" 
}, 

创建_ViewImports.cshtml文件下的视图文件夹(您已经有)与您提到的内容。

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

+0

是的,当我将文件放在正确的文件夹中时,它适用于我(请参阅我的问题的更新)。谢谢! – Thaoden