我为Bootstrap工具提示编写了一个简单的TagHelper:
[HtmlTargetElement("button", Attributes = "tooltip")]
public class TooltipTagHelper : TagHelper
{
public string Tooltip { get; set; }
public override void Process(TagHelperContext context, TagHelperOutput output)
{
if (string.IsNullOrWhiteSpace(Tooltip))
{
return;
}
output.Attributes.Add("data-toggle", "tooltip");
output.Attributes.Add("data-original-title", Tooltip);
}
}
目前我已通过HtmlTargetElementAttribute
为button
元素激活了它。由于我想要,这个taghelper在任何元素上处理,如果tooltip
属性存在,我试图设置一个通配符:
[HtmlTargetElement("*", Attributes = "tooltip")]
这似乎不起作用,例如,当我在任何元素上键入tooltip
时,我没有语法突出显示。
是否有可能使TagHelper适用于所有代码,而不会为每个可能的代码重复HtmlTargetElementAttribute
?
答案 0 :(得分:1)
事实证明,它正是以这种方式运作:
rpcProviderRegistry = session.getSALService(RpcProviderRegistry.class);
但智能感知并不足以认识它。结果页面分配了两个属性。
我通过在调试模式中添加额外的目标元素来解决问题,因为Intellisense对我来说非常重要。
[HtmlTargetElement("*", Attributes = "tooltip")]