我创建了一个具有属性“ is-active-route”的新标签帮助器(ActiveRouteTagHelper)。但是,在任何Razor页面上使用此属性时,都不会调用帮助程序。该应用程序在.NET Core 2.2上运行。
我确保已将@addTagHelper引用添加到_ViewImports中,并且该类和重写都是公共的。
_ViewImports.cshtml
@using SIRS_Web
@using SIRS_Web.Models
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, SIRS_Web
ActiveRouteTagHelper.cs
namespace SIRS_Web.TagHelpers
{
[HtmlTargetElement(Attributes = "is-active-route")]
public class ActiveRouteTagHelper : TagHelper
{
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.Attributes.RemoveAll("is-active-route");
}
}
_Layout.cshtml
...
<a is-active-route href="#">Link</a>
...
我在流程覆盖的第一行中添加了一个断点,但从未达到此断点,并且属性is-active-route出现在页面中。
答案 0 :(得分:1)
@addTagHelper
指令不使用名称空间,而使用程序集名称。那将是你的问题。
请花点时间阅读以下链接: