0

在 Net Core 中是否有将 Tagbuilder 转换为 String 的本地方法?这仅适用于 ASP Net 5。将 IHtmlContent/TagBuilder 转换为 C# 中的字符串

将 TagBuilder 的值转换为字符串

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

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

2 回答 2

0

这个解决方案对我有用!

        StringBuilder result = new StringBuilder();
        for (int i = 1; i <= pagingInfo.TotalPages; i++)
        {
            TagBuilder tag = new TagBuilder("a");
            result.Append(GetString(tag));
        }

        return new HtmlString(result.ToString());
于 2021-11-04T12:54:58.007 回答
-1

在aspnetcore中可以使用相同的WriteTo方法。

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

例如:

public static class IHtmlContentExtensions
{
    public static string GetString(this Microsoft.AspNetCore.Html.IHtmlContent content)
    {
        using (var writer = new System.IO.StringWriter())
        {        
            content.WriteTo(writer, System.Text.Encodings.Web.HtmlEncoder.Default);
            return writer.ToString();
        }
    }
}

然后从您的代码中,您可以调用

TagBuilder myTag = // ...
string tagAsText = myTag.GetString();
于 2019-07-15T09:46:20.133 回答