2012-05-15 1 views
1

J'utilise la DLL de Razor view engine pour faire du template dans mon code où j'ai quelque chose comme Hello, @ Model.name comme entrée et mon moteur de vue l'analyse. Cela fonctionne très bien mais je voudrais aussi l'encoder en Html. Ça ne le fait pas. Par exemple, si j'ai quelque chose comme "Hello @ Model.Name".HtmlEncoding utilisant le moteur de vue Razor

Et si @ Model.Name est « P & G » le Je ne veux pas sortie soit hello P&G Je veux être comme sortie hello p & G qui Razor vue ne fait pas. Y'a-t-il une quelconque façon de réussir cela? J'ai également essayé de mettre HttpUtility.HtmlEncoding dessus mais cela n'a pas fait le travail aussi bien.

Des suggestions?

+2

Umm, quoi? MVC _by default_ html encode toute la sortie, et vous devez utiliser quelque chose comme '@ Html.Raw()' pour obtenir une chaîne non-codée. – Tejs

+0

Je suis désolé HttpUtility.HtmlEncode fonctionne bien. Je préférerais la solution Razor plutôt que la solution de bibliothèque .NET si possible. – TeaLeave

+0

Eh bien, une note gto mince ici est que je travaille en dehors de l'environnement MVC. Juste en utilisant la bibliothèque Razor et c'est tout. J'ai effectivement essayé @ Html.Raw ..... n'a pas fonctionné. – TeaLeave

Répondre

2

Il suffit d'utiliser

@Model.name is @Html.Encode("P & G") 
Questions connexes