I have some tag helpers I need to "render" in code, meaning I'm looking to get the html that would be used in a view.
How can I get a HTML string representation of a tag helper?
Here's just a tag helper as an example:
[HtmlTargetElement("bars", TagStructure = TagStructure.NormalOrSelfClosing)]
public class BarsMenuTagHelper : TagHelperCustom, ITagHelperCustom
{
public BarsMenuTagHelper(IWebHostEnvironment environment, ITagHelperRepo helperRepo, IHtmlHelper htmlHelper) : base(environment, helperRepo, htmlHelper)
{ }
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
{
await base.PreProcessAsync(context, output);
TagHelperContent inner = await output.GetChildContentAsync();
TagBuilderCustom burger = new TagBuilderCustom("i");
burger.InnerHtml.SetHtmlContent(inner.ToHtmlString());
burger.AddAttribute("id", "creatorBarsMenu");
burger.AddCssClassRange("creator-bars-icon", $"size-{this.Size.ToLower()}");
AddContent(burger);
await base.ProcessAsync();
}
[HtmlAttributeName("size")]
public CommonSizes Size { get; set; } = CommonSizes.MD;
}