具有默认html属性的Asp Core TagHelper

时间:2018-01-10 19:54:17

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

如果我创建自己的TagHelper:

[HtmlTargetElement("foobar")]
public class Foobar : TagHelper
{
}

并在我的剃须刀视图中使用它:

<foobar onclick="test"></foobar>

如果我在浏览器中检查属性,则不会呈现属性“onclick”。

如何使用所有可用的html默认属性创建自己的TagHelper?

提前谢谢

1 个答案:

答案 0 :(得分:0)

一种方法是获取现有标记上所有属性的列表,然后将它们与新标记合并。

var attributeList = new Dictionary<string, object>();
foreach (var attribute in output.Attributes)
    attributeList.Add(attribute.Name, attribute.Value);

var anchor = new TagBuilder("a");
anchor.MergeAttributes(attributeList);

return anchor;

似乎我遇到了更好的方法,但在查看了我的标签帮助后,我似乎无法找到它。