我看到很多使用ASP.NET核心标记助手的示例使用ProcessAsync来获取HTML元素的InnerText。例如,以下按预期工作:
public override async Task ProcessAsync(TagHelperContext context,
TagHelperOutput output)
{
var childContent = await output.GetChildContentAsync();
var innerHtml = childContent.GetContent();
output.Content.SetHtmlContent("---" + innerHtml + "---");
}
但是,我希望同步获得它,以下不会。如何通过Process(sync)获取innertext?
public override void Process(TagHelperContext context, TagHelperOutput output)
{
var innerHtml = output.Content.GetContent();
output.Content.SetHtmlContent("---" + innerHtml + "---");
}
答案 0 :(得分:4)
为什么呢?它对你的情况有什么不同?你认为你在做什么需要同步访问?
如果你认为你确实需要它,那么
var innerHtml = output.GetChildContentAsync().Result.GetContent();