如何将元素定义为TagHelper内容?
E.g。元素定义为:
<markdown>bla bla</markdown>
Helper定义为:
[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 :(得分:9)
您可以按the docs中的说明使用output.GetChildContentAsync()
(值得一读,因为它包含一些检索元素内容的示例)。
然后,您将实现标记助手,如下所示:
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
{
var c = (await output.GetChildContentAsync()).GetContent();
// transform markdown in c
}