0

Tagbuilder を Net Core の文字列に変換するネイティブな方法はありますか? これは ASP Net 5 専用です。C# で IHtmlContent/TagBuilder を文字列に変換します。

TagBuilder の値を文字列に変換します

Microsoftは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

同じWriteTo方法がaspnetcoreで利用できます。

TagBuilderから継承するように、同じ GetString メソッドを作成することで引き続き利益を得ることができるはずです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 に答える