Что делает <%:%> в ASP.NET (MVC2)? - PullRequest
6 голосов
/ 26 июля 2010

Сотрудник недавно зарегистрировал набор изменений, в котором множество выражений в форме <% = (...)%> было изменено на <%: (...)%>.

У меня естьсмутное воспоминание о том, что слышал, что <%: делает, но не может вспомнить.Уже слишком поздно ночью звонить моему коллеге, и Google и Bing, похоже, не могут найти строку "<%:". </p>

Может кто-нибудь просветить меня, пожалуйста?

Ответы [ 3 ]

12 голосов
/ 26 июля 2010

HtmlEncodes строка, если она еще не была закодирована.

«Еще не закодированная часть» - вот почему была введена MvcHtmlString. MVC2 возвращает MvcHtmlString из многих методов HtmlHelper для представления строк, которые не следует перекодировать. <%:%> Знает, что не нужно перекодировать.

См. Что такое MvcHtmlString и когда мне его использовать? для хорошего обсуждения.

8 голосов
/ 26 июля 2010

Он автоматически переносит визуализированный вывод в Html.Encode (), чтобы избежать атак сценариев.

1 голос
/ 26 июля 2010

Один из способов запомнить это - (вежливость: Скотт Хансельман) думать = как закрытые ворота.Теперь откройте ворота, повернув их на 90 градусов, и посмотрите на них с той же точки зрения.вы увидите:

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