Asp.net-Core-Mvc

如何在 TagHelper.Process 中獲取元素(定義為 TagHelper)的內容?

  • August 9, 2019

如何獲取定義為 TagHelper 內容的元素?

例如元素定義為:

<markdown>bla bla</markdown>

並將助手定義為:

[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"?
   }
}

您可以按照文件中的output.GetChildContentAsync()說明使用(值得一讀,因為它包含一些檢索元素內容的範例)。

然後,您將實現您的標籤助手,如下所示:

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

引用自:https://stackoverflow.com/questions/40850154