【问题标题】:TagHelper for ASPNET CORE ViewComponent not workingASPNET CORE ViewComponent 的 TagHelper 不起作用
【发布时间】:2017-10-03 15:30:17
【问题描述】:

我正在掌握 ASPNET CORE [版本 1.1,使用 VS2017 社区,版本 15.1 (26403.3)]我创建了一个名为 UserDetails 的工作 ViewComponent(以下简称):

namespace AdminConsole.ViewComponents
{
[ViewComponent(Name = "UserDetails")]
public class UserDetailsViewComponent : ViewComponent
{ ...does stuff... }

我可以通过使用在视图中成功调用它

@await Component.InvokeAsync("UserDetails")

我宁愿使用 TagHelper 来调用它,但它只是没有发生。我浏览了 SO 和其他有用的页面,虽然其他人似乎可以使用它,但我做不到。

我在 _ViewImports.cshtml 和 <vc:user-details></vc:user-details> 中添加了行 @addTagHelper "*, AdminConsole" 在我想要渲染 VC 的视图中,但它没有渲染;我没有收到错误,只是没有渲染。

如果我将 TagHelper 声明更改为 @addTagHelper *, AdminConsole(没有语音标记),它也不会呈现或出错。

如果我尝试上述两种组合并尝试<vc:UserDetails></vc:UserDetails>,即没有kebab-case,它不会呈现或错误。

我的_ViewImports.cshtml如下

@using AdminConsole
@using AdminConsole.Models
@using AdminConsole.Models.AccountViewModels
@using AdminConsole.Models.ManageViewModels
@using Microsoft.AspNetCore.Identity
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@inject Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration TelemetryConfiguration
@addTagHelper "*, AdminConsole"

@addTagHelper 声明 (AdminConsole.ViewComponents) 中使用 VC 的完整命名空间会产生 cannot resolve TagHelper 错误。

我想我已经尝试了所有排列方式,来自官方和社区来源的文档仅表明我尝试过的内容(并且有所不同!)。如果有人能帮助解释一下,我将不胜感激。

【问题讨论】:

  • 我也遇到这种问题,有什么解决办法吗?
  • 嗨,Riza,我在 ASP.NET 论坛上问了同样的问题……遗憾的是没有答案。你能让VC使用@await Component.InvokeAsync("ComponentName")方法渲染吗?这对我有用,但 TagHelper 不起作用。
  • 是的,@await 组件有效,但 TagHelper 无效。我仍在努力寻找解决方案,如果我找到了,我会发布答案
  • 是否有任何 dotnet 框架更新?不幸的是,我正在使用 VSCode
  • 我也遇到了这个问题,我一生都无法弄清楚为什么它不起作用。我什至从 Microsoft 文档中构建了一个代码示例,它仍然只有在我使用 razor 语法时才有效。

标签: c# asp.net-core tag-helpers asp.net-core-viewcomponent


【解决方案1】:

安装.NET Core 1.1.2 runtime (Current LTS) 解决了我的问题。我想我们应该同时安装 SDK 和 LTS 运行时。

【讨论】:

    猜你喜欢
    • 2017-03-27
    • 2020-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多