2017-10-24 15 views
0

私はブートストラップツールチップのためのシンプルなTagHelperを書かれている:TagHelperでワイルドカードHtmlTargetElementを使用することは可能ですか?

[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); 
    } 
} 

現在、私はbutton要素のHtmlTargetElementAttributeを経由して、それが有効になっています。

[HtmlTargetElement("*", Attributes = "tooltip")] 

これは動作するようには思えない、例えば、私は時に何の構文highlightningを取得していない:このtaghelperはtooltip属性が存在する場合、私はワイルドカードを設定しようとした、任意の要素で処理されていることを、私はしたいので、私は任意の要素にtooltipと入力します。

すべてのタグに対してTagHelperを動作させることは可能ですか?HtmlTargetElementAttributeをすべてのタグに対して繰り返す必要はありませんか?

答えて

1

それは、まさにこのよう取り組んでいる、判明:

[HtmlTargetElement("*", Attributes = "tooltip")] 

をしかし、インテリセンスがそれを認識するのに十分な知的なではありません。結果のページには、両方の属性が割り当てられています。

Intellisenseは私にとって非常に重要なので、私はデバッグモードでターゲット要素を追加してarroundを処理しました。

#if DEBUG 
    [HtmlTargetElement("button", Attributes = "tooltip")] 
#endif 
    [HtmlTargetElement("*", Attributes = "tooltip")] 
関連する問題