我有一个自定义的 IHtmlHelper 扩展方法,它使用 TagBuilder 并返回一个 HtmlString 。我不能再将 tagBuiler.ToString() 传递给 HtmlString 构造函数,因为它现在只返回类型名。

我看到我可以使用 tabBuiler.WriteTo(TextWriter, IHtmlEncoder) 方法,但我不知道如何获得实现 IHtmlEncoder 的对象。我在 System.Text.Encodings.WebMicrosoft.Framework.WebEncoders 中都看到了编码器。但是这两个命名空间中的类型似乎不能很好地协同工作。

最佳答案

HtmlEncoder 中的 Microsoft.Extensions.WebEncoders.Core 只是 System.Text.Encodings.Web.HtmlEncoder 的包装器,用于实现 IHtmlEncoder 接口(interface)( 0x251812213341 )。

您可以将 Microsoft.Extensions.WebEncoders.HtmlEncoder.Default 传递给 WriteTo 方法。

从我在 dev 分支中看到的 MVC 转移到直接使用 System.Text.Encodings.Web.HtmlEncoder 这样你以后就不需要再使用 Microsoft.Extensions.WebEncoders.HtmlEncoder 了。

关于asp.net - Asp.NET 5 中的 HtmlEncode 在哪里,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33924496/

10-13 07:50