Asp.Net核心2.0 MVC锚标记助手无法正常工作

时间:2018-03-28 17:36:11

标签: asp.net-core-mvc asp.net-core-tag-helpers

我正在尝试创建一个演示页面,并且无法解决下一个问题,我尝试了在网络上找到的所有内容。 我有一个带有标记助手的锚标记:

<a class="menu-link" asp-area="" asp-controller="Telefon" asp-action="Index">Telefonok</a>

我还添加了 _ViewImports.cshtml ,其中我添加了我在网上看到的内容 @addTagHelper&#34; *,Microsoft.AspNet.Mvc.TagHelpers&#34; ,但我仍然收到错误:名称&#39; addTagHelper&#39;在当前上下文中不存在

我错了什么?!

2 个答案:

答案 0 :(得分:5)

有两个_ViewImports.cshtml,您可能需要位于Views文件夹中的那个。

在我的项目中,我在Views / Manage

下有另一个

所需的行也应如下:

@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

我相信这意味着它将在命名空间中包含所有Tag Helpers。

请注意使用Asterix(*)

答案 1 :(得分:0)

请确保以下事项到位:

  1. 确保根据您的要求在视图目录的根级别或任何视图文件夹中的正确位置/目录中创建 _ViewImports.cshtml。请参阅下面的剪辑。应该是这样的..

enter image description here

  1. 要在 .NET Core 应用程序中使用标签助手,您需要在 _ViewImports.cshtml 文件中定义指令 '@addTagHelper' 以及程序集名称。这是程序集名称 Microsoft.AspNetCore.Mvc.TagHelpers。所以现在你的文件看起来像这样:

    @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

此处的星号(*) 表示您希望包含程序集中的所有标签助手。

注意:这很尴尬。我犯的错误真的很愚蠢和荒谬,起初让我挠头。只是没有人做同样的事情,在写下程序集名称时要非常小心。注意 Mvc 中的大小写。

Microsoft.AspNetCore.Mvc.TagHelpers => ✔
Microsoft.AspNetCore.MVC.TagHelpers => ❌