为head和html标签调用自定义标签帮助器

时间:2019-04-02 09:09:32

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

使用ASP Net Core 2.2,我注意到自定义标记助手的奇怪行为,该自定义标记助手是用来自定义选择列表的。不仅为自定义元素调用标签,还为和标签调用标签,这会导致运行时错误。

 [HtmlTargetElement("custom-name-enum-list")]
public class CustomNameEnumListTagHelper: TagHelper
{
    public Type Type { get; set; }
    public string Id { get; set; }

    public override void Process(TagHelperContext context, TagHelperOutput output)
    {
        output.TagName = "select";
        output.TagMode = TagMode.StartTagAndEndTag;
        output.Attributes.Add("class", "form-control");
        output.Attributes.Add("id", Id);
        output.Content.SetContent(CreateContent());
    }

    private string CreateContent()
    {
        //... custom mapping here
    }
}

该标记用于部分视图:

<custom-name-enum-list id="typeList" type=@typeof(XType)></custom-name-enum-list>

这也已在_ViewImports.cshtml中注册:

@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, xxxx.Frontend

HtmlTargetAttribute似乎没有过滤所有标签。 我以为我做错了什么,但我不知道是什么

0 个答案:

没有答案