Où est HtmlEncode dans Asp.NET 5
J'ai un custom IHtmlHelper
méthode d'extension qui utilise TagBuilder
et renvoie un HtmlString
. Je ne peux plus passer tagBuiler.ToString()
à la HtmlString
constructeur en tant que retourne le nom maintenant.
Je vois que je peux utiliser le tabBuiler.WriteTo(TextWriter, IHtmlEncoder)
méthode, mais je ne sais pas exactement comment faire pour obtenir mes mains sur un objet qui implments IHtmlEncoder
. Je vois des codeurs dans les deux System.Text.Encodings.Web
et Microsoft.Framework.WebEncoders
. Mais les types dans les deux noms ne semblent pas à bien jouer ensemble.
source d'informationauteur Keith Hill | 2015-11-25
Vous devez vous connecter pour publier un commentaire.
HtmlEncoder
dansMicrosoft.Extensions.WebEncoders.Core
est juste un wrapper autour deSystem.Text.Encodings.Web.HtmlEncoder
à mettre en œuvreIHtmlEncoder
interface (https://github.com/aspnet/HttpAbstractions/blob/release/src/Microsoft.Extensions.WebEncoders.Core/HtmlEncoder.cs).Vous pouvez prendre
Microsoft.Extensions.WebEncoders.HtmlEncoder.Default
et passer àWriteTo
méthode.De ce que je vois dans la branche dev MVC déplacé à l'aide de
System.Text.Encodings.Web.HtmlEncoder
directement si vous wan pas besoin d'utiliserMicrosoft.Extensions.WebEncoders.HtmlEncoder
plus à l'avenir.Dans ASP.NET Core RC2 vous pouvez trouver
HtmlDecode
dansSystem.Net.WebUtility
:Dans votre projet.json importer système de dépendance.net.utilitaires
Comme pour la RC1 de mise à jour 1, voici comment il est fait:
Suffit d'utiliser le Système.Net.WebUtility.HtmlEncode ou décoder comme:
Système.Net.WebUtility.HtmlEncode()
Système.Net.WebUtility.HtmlDecode()