gpt4 book ai didi

asp.net-core - asp.net core 1.0 mvc RC2 tagBuilder 方法与 HtmlEncoder() 在 RC1 中工作而不在 RC2 中工作

转载 作者:行者123 更新时间:2023-12-01 04:38:28 28 4
gpt4 key购买 nike

在 RC1 中,我有以下有效的小方法。

    public string ConvertTagToSring(TagBuilder Tag)
{
var writer = new StringWriter();

Tag.WriteTo(writer, new HtmlEncoder());

return writer.ToString();
}

如该方法所示,它使用 stringWriter() 将 Tagbuilder 标签转换为字符串。

我在“new HtmlEncoder()”上遇到错误,错误是:

Cannot create an instance of the abstract class or interface 'HtmlEncoder'

我找到了 this在 Asp.Net/Announcements 的重大更改部分中的 HtmlEncoder 上,但是我无法弄清楚如何更改它以使其工作..

如何重构:

Tag.WriteTo(writer, new HtmlEncoder());

以便我可以将标签转换为字符串?

最佳答案

HtmlEncoder 现在是一个抽象类,无法初始化(see HttpEncoder.csdotnet\corefx GitHub repository 上)。

它有一个内部的默认实现(DefaultHtmlEncoder)。但是 HtmlEncoder 公开了一个静态属性 Default,它引用了它的默认实现,see HttpEncoder.cs .

因此,您无需调用 new HtmlEncoder(),只需调用 HtmlEncoder.Default。我想这是一种优化尝试,可以避免每次请求多次初始化 HtmlEncoder

关于asp.net-core - asp.net core 1.0 mvc RC2 tagBuilder 方法与 HtmlEncoder() 在 RC1 中工作而不在 RC2 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37450181/

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