Différence entre MvcHtmlString.Create() et Html.Raw()
Je suis entrain de créer un MVC-Projet. En utilisant MVC 4 et Rasoir. Après quelques pages, je me demandais: quelle est la différence entre
MvcHtmlString.Create()
et
Html.Raw()
Serait sympa si vous pouviez m'aider à le comprendre.
Merci d'avance!
Vous devez vous connecter pour publier un commentaire.
C'est une excellente occasion de regarder le code source qui nous sont disponibles pour ASP.NET (http://aspnetwebstack.codeplex.com).
Regardant HtmlHelper.cs, c'est le code pour
Html.Raw()
:Et c'est le code pour le MvcHtmlString classe:
La différence la plus importante est que
Html.Raw()
accepte n'importe quel objet, tandis queMvcHtmlString.Create()
accepte uniquement les chaînes.Aussi,
Html.Raw()
retourne une interface, alors que la méthode Create retourne un MvcHtmlString objet.Enfin, le fait de Créer traite différemment la valeur null.
new HtmlString()
.Il n'y a pas de différence pratique.
La
MvcHtmlString.Create
crée une instance deMvcHtmlString
, tandis que leHtml.Raw
méthode crée une instance deHtmlString
, maisMvcHtmlString
juste hérite deHtmlString
, de sorte qu'ils fonctionnent de la même.IHtmlString
protège la chaîne de HTML encodé lors de la sortie à l'aide de la<%: %>
balise de serveur.