gpt4 book ai didi

c# - 在 C# 中将 IHtmlContent/TagBuilder 转换为字符串

转载 作者:IT王子 更新时间:2023-10-29 04:45:53 29 4
gpt4 key购买 nike

我正在使用 ASP.NET 5。我需要将 IHtmlContent 转换为字符串

IIHtmlContentASP.NET 5 Microsoft.AspNet.Html.Abstractions 命名空间的一部分,并且是 TagBuilder 的接口(interface) 实现

简化我有以下方法

public static IHtmlContent GetContent()
{
return new HtmlString("<tag>blah</tag>");
}

当我引用它的时候

string output = GetContent().ToString();

我得到 GetContent() 的以下输出

"Microsoft.AspNet.Mvc.Rendering.TagBuilder" 

而不是

<tag>blah</tag>

我想要的

我也尝试过使用 StringBuilder

StringBuilder html = new StringBuilder();
html.Append(GetContent());

但它也附加相同的命名空间而不是字符串值

我试图将它转换为 TagBuilder

TagBuilder content = (TagBuilder)GetContent();

但是TagBuilder没有转换成字符串的方法

如何将 IHtmlContent 或 TagBuilder 转换为字符串?

最佳答案

如果您需要做的只是将内容作为字符串输出,只需添加此方法并将您的 IHtmlContent 对象作为参数传递即可获取字符串输出:

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

关于c# - 在 C# 中将 IHtmlContent/TagBuilder 转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33667308/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com