我有一个自定义的 IHtmlHelper
扩展方法,它使用 TagBuilder
并返回一个 HtmlString
。我不能再将 tagBuiler.ToString()
传递给 HtmlString
构造函数,因为它现在只返回类型名。
我看到我可以使用 tabBuiler.WriteTo(TextWriter, IHtmlEncoder)
方法,但我不知道如何获得实现 IHtmlEncoder
的对象。我在 System.Text.Encodings.Web
和 Microsoft.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/