1 votes

Problèmes d'impression des balises méta avec ASP.NET MVC

J'essaie de créer une balise méta dans ma vue en fonction des données de mon modèle... le code de ma vue ressemble à ceci :

<meta name="description" content="<%=Html.Encode(Model.MetaDescription) %>" />

Mais mon résultat ressemble à ceci :

meta name="description" content="&lt;%=Html.Encode(Model.MetaDescription) %>" />

Mais qu'est-ce que je fais de mal ?

3voto

Mehrdad Afshari Points 204872

Vous êtes probablement en train d'ajouter ceci meta à une balise <head> qui est marqué à runat="server" . Essayez :

<meta name="description" content='<%=Html.Encode(Model.MetaDescription) %>' />

Je n'ai pas d'idée précise sur le problème réel, car je n'ai pas la source complète, mais pour contourner le problème :

<meta name="description" content=<%= "\"" + Html.Encode(Model.MetaDescription) + "\"" %> />

0voto

Ofer Zelig Points 8595

La deuxième solution de Mehrdad fonctionne bien et rend un XHTML valide, mais l'IDE de VS se plaint de la syntaxe invalide (il ne "voit" pas les guillemets au moment de la conception et pense qu'ils sont manquants).

Une meilleure syntaxe (fonctionnelle) serait :

<meta name="description" content=<%= "" + Html.Encode(Model.MetaDescription) %> /> 

Il semble qu'il s'agisse d'un bug dans le moteur de rendu MVC, et la chaîne vide au début est une solution de contournement...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X