我的自定义标记帮助程序不在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