2009-05-17 3 views
1

ich basierend auf Daten, die in meinem Modell ein Meta-Tag in meiner Ansicht zu machen bin versucht, ... meiner Meinung nach Code sieht wie folgt aus:Ärger Druck Meta-Tags mit ASP.NET MVC

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

Aber meine Ausgangs sieht so aus:

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

Was zum Teufel mache ich falsch?

Antwort

3

Wahrscheinlich fügen Sie dieses meta-Tag zu einem -Tag hinzu, das mit runat="server" markiert ist. Versuchen:

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

ich keine klare Vorstellung davon, was das eigentliche Problem ist, wie ich, nicht die volle Quelle haben aber zu umgehen:

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

, die versucht. ..Keine Änderung. Wenn ich die einzelnen oder doppelten Anführungsstriche ausziehe, wird es funktionieren ... so am Ende sieht es so aus: content = das ist mein Inhalt aber das ist wahrscheinlich eine schlechte Idee. – Webjedi

+0

Ist meine Annahme richtig? Verwenden Sie ? –

+0

Ja ... aber ich frage mich jetzt, ob ich es brauche. – Webjedi

0

Mehrdad zweite Lösung funktioniert gut und rendert ein gültiges XHTML, aber verursacht VS IDE, sich über die ungültige Syntax zu beschweren (es "sieht" die doppelten Anführungszeichen zur Entwurfszeit nicht und denkt, dass sie fehlen).

Eine bessere (Arbeits-) Syntax wäre:

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

Es ist wie ein Fehler in der MVC-Rendering-Engine scheint, und die leere Zeichenkette am Anfang ist eine Abhilfe ...