【发布时间】:2019-04-25 10:26:05
【问题描述】:
我有一个标签助手styled-checkbox,它包装了<input type="checkbox"> 并添加了其他元素,以便我获得一个自定义样式的复选框。最终呈现的复选框具有以下 DOM 结构:
<span>
<input type="checkbox"...>
<label..>
<input type="hidden"..>
</span>
为此,我的 TagHelper 更改了 TagName,然后附加 HTML:
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
{
output.TagName = "span";
StringBuilder content = new StringBuilder("");
content.Append($@"<input type=""checkbox"" value=""true"" name=""{Name}"" ... />");
... more content Appending here ...
output.Content.SetHtmlContent(content.ToString());
}
但是,我在使用标签时添加到标签的任何数据属性都会附加到span。我希望它们改为附加到 input 元素 - 这可能吗?
例如:
<styled-checkbox data-foo="bar"></styled-checkbox>
在该示例中,我希望将“data-foo”属性附加到复选框输入中 - 但我看不到这样做的方法,有可能吗?
【问题讨论】:
标签: c# asp.net-core tag-helpers