Проблемы с печатью метатегов с помощью ASP.NET MVC - PullRequest
1 голос
/ 17 мая 2009

Я пытаюсь создать метатег в моем представлении на основе данных в моей модели ... мой код представления выглядит следующим образом:

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

Но мой вывод выглядит так:

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

Какого черта я делаю не так?

Ответы [ 2 ]

3 голосов
/ 17 мая 2009

Вы, вероятно, добавляете этот тег meta к тегу <head>, который отмечен на runat="server". Попробуйте:

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

У меня нет четкого представления о том, что является настоящей проблемой, поскольку у меня нет полного источника, но я могу обойти это решение:

<meta name="description" content=<%= "\"" + Html.Encode(Model.MetaDescription) + "\"" %> />
0 голосов
/ 10 марта 2010

Второе решение Mehrdad работает нормально и отображает действительный XHTML, но заставляет VS IDE жаловаться на неверный синтаксис (он не «видит» двойные кавычки во время разработки и считает, что они отсутствуют).

Лучший (рабочий) синтаксис будет:

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

Это похоже на ошибку в движке рендеринга MVC, и пустая строка в начале - это обходной путь ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...