从另一个TagHelper调用TagHelpers?

jov*_*nas 6 razor tag-helpers asp.net-core

有没有办法让TagHelper呈现另一个TagHelper?

TagHelpers示例;

public class OuterTagHelper : TagHelper
{
    public override void Process(TagHelperContext context, TagHelperOutput output)
    {
        output.TagName = "";
        output.Content.SetContent("Hello <inner></inner>");
    }
}

public class InnerTagHelper : TagHelper
{
    public override void Process(TagHelperContext context, TagHelperOutput output)
    {
        output.TagName = "";
        output.Content.SetContent("World!");
    }
}
Run Code Online (Sandbox Code Playgroud)

示例视图;

<outer></outer>
Run Code Online (Sandbox Code Playgroud)

预期结果;

Hello World!
Run Code Online (Sandbox Code Playgroud)

我知道我可能应该使用ViewComponent,但是它是否可以实现上面提到的预期行为?

Ric*_*SFT 0

@Daniel JG是对的,不推荐这样做。从技术上讲,如果您通过高度定制的剃刀解析器运行内容,然后像页面一样执行内容,则可以做到这一点 - 但这几乎肯定是解决问题的错误方法。