使用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似乎没有过滤所有标签。 我以为我做错了什么,但我不知道是什么