2016-11-28 4 views
2

要素をTagHelperコンテンツとして定義する方法TagHelper.Processで要素の(TagHelperとして定義された)コンテンツを取得する方法?

など。

<markdown>bla bla</markdown> 

とヘルパーのように定義:the docsで説明したように(それは、要素の内容を取得するいくつかの例が含まれていると読む価値)あなたはoutput.GetChildContentAsync()を使用することができます

[HtmlTargetElement("markdown")] 
public class MarkdownTagHelper : TagHelper 
{ 
    public override void Process(TagHelperContext context, TagHelperOutput output) 
    { 
      var c = output.Content.GetContent(); 
      // c is empty; how to get content "bla bla"? 
    } 
} 
+0

それは、実行時または設計時ですか?それが2番目の場合は、 '_ViewImports.cshtml'で追加されたアセンブリで' ITagHelper'を実装するすべてのクラスを見つけることができます。最初のケースでは、ASP.Net Coreがそのような情報を公開するかどうかわかりません –

+0

実行時に。要素の内容。 TagHelper.Processの内部。 –

+0

ああ、私は完全に質問を誤解しました。はい、それは可能です.output.GetChildContentAsync() ' –

答えて

1

として定義された要素。

その後、同様にあなたのタグヘルパーを実装します:

public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output) 
{ 
     var c = (await output.GetChildContentAsync()).GetContent(); 
     // transform markdown in c 
} 
+0

これは動作します。ありがとうございました。 –

関連する問題