我正在使用ASP.NET5。我需要将IHtmlContent转换为StringIIHtmlContent
是ASP.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());
但它还会附加相同的 namespace ,而不是字符串值
我试图将其转换到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();
}
}