我的自定义标记帮助程序不在Asp.net core中工作

我的自定义标记帮助程序不在Asp.net core中工作,asp.net,asp.net-core,Asp.net,Asp.net Core,我遵循了一些为ASP核心创建自定义标记帮助程序的指南 我在一个命名空间中有两个标记帮助程序: namespace Forum.Core.TagHelpers { [HtmlTargetElement(Attributes = nameof(Condition))] public class ConditionTagHelper : TagHelper { public bool Condition { get; set; } publi

我遵循了一些为
ASP核心
创建
自定义标记帮助程序的指南

我在一个
命名空间中有两个
标记帮助程序

namespace Forum.Core.TagHelpers
{

    [HtmlTargetElement(Attributes = nameof(Condition))]
    public class ConditionTagHelper : TagHelper
    {
        public bool Condition { get; set; }

        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            if (!Condition)
            {
                output.SuppressOutput();
            }
        }
    }

}

我将依赖项添加到

_ViewImports.cshtml

@addTagHelper
*,
Microsoft.AspNetCore.Mvc.TagHelpers

@addTagHelper
*,
Forum.Core

但是我只能在我的页面中使用条件


欢迎提出任何建议

这是因为您的许可TagHelper不是公共的。试试这个:

namespace Forum.Core.TagHelpers
{
    [HtmlTargetElement(Attributes = nameof(Permission))]
    public class RolePermissionTagHelper : TagHelper
    {
        public bool Permission { get; set; }
        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            output.SuppressOutput();
        }

    }
}

\u ViewImports.cshtml
中,您只需要添加根命名空间

@addTagHelper *, Forum

当您将其设置为禁止输出时,您如何知道它不工作?@JoeAudette,此标记帮助程序的工作是完全禁止的,但带有条件。但是,我没有编写条件您的权限定义为布尔值,但“字符串”不是布尔值您的
RolePermissionTagHelper
类需要是
public
(默认为
内部
。@KirkLarkin非常感谢你的建议,我没有足够的关心
@addTagHelper *, Forum