Net核心:如何将TagBuilder转换为C#中的字符串?

Net核心:如何将TagBuilder转换为C#中的字符串?,c#,.net-core,asp.net-core-mvc,tagbuilder,C#,.net Core,Asp.net Core Mvc,Tagbuilder,在NetCore中是否有将Tagbuilder转换为字符串的本机方法?这仅适用于ASP Net 5 将TagBuilder的值转换为字符串 我认为微软在NetCore中有一个替代功能 public static string GetString(IHtmlContent content) { using (var writer = new System.IO.StringWriter()) { content.WriteTo(writer, Htm

在NetCore中是否有将Tagbuilder转换为字符串的本机方法?这仅适用于ASP Net 5

将TagBuilder的值转换为字符串

我认为微软在NetCore中有一个替代功能

public static string GetString(IHtmlContent content)
{
    using (var writer = new System.IO.StringWriter())
    {        
        content.WriteTo(writer, HtmlEncoder.Default);
        return writer.ToString();
    } 
}     

中提供了相同的
WriteTo
方法

您应该能够继续受益于创建相同的GetString方法,因为
TagBuilder
继承自
IHtmlContent

例如:
公共静态类IHTMLContextensions
{
公共静态字符串GetString(此Microsoft.AspNetCore.Html.IHtmlContent内容)
{
使用(var writer=new System.IO.StringWriter())
{        
content.WriteTo(writer、System.Text.Encodings.Web.HtmlEncoder.Default);
返回writer.ToString();
}
}
}
然后从代码中,您可以调用

TagBuilder myTag=/。。。
string tagAsText=myTag.GetString();

我问是否还有其他方法,我已经在上面列出了,C#是否有本机函数?答案很好,但我必须跳到这里,不要调用类IHTMLContentTextensions,“I”前缀通常是为接口保留的。这是一个公平的观点。我之所以给它命名,是因为它扩展了一个名为IHtmlContent的接口,但你说得对,I前缀通常是为接口保留的