В чем разница между <% и <%: - PullRequest
       3

В чем разница между <% и <%:

3 голосов
/ 25 декабря 2010

Я не смог найти что-либо через Google, полагаю, что поисковые термины слишком сложны для обработки. Встроенная справка VS объясняет только <%, это просто встроенный код. Там нет упоминания о <%: </p>

EDIT: Моя книга говорит, что единственное отличие состоит в том, что <%: возвращает MvcHtmlString. Зачем нам нужен дополнительный символ для <%: просто чтобы что-то вернуть? </p>

EDIT2: Пример:

<% Html.RenderAction("xxx", "xxx"); %>

Ничего не возвращается, поэтому мы должны сказать <%, потому что это будет htmlencode? Но что, если я отрендерю что-то в .RenderAction (), которое тоже нужно htmlencoded? Или это не имеет смысла? </p>

Спасибо за любую помощь! Это действительно помогло бы мне понять asp.net.

Ответы [ 3 ]

3 голосов
/ 25 декабря 2010

Используя <%:, вы уже сообщаете странице HtmlEncode, что находится внутри тегов <%:%>. и это было представлено в .Net 4.

РЕДАКТИРОВАТЬ: Да, MvcHtmlString уже HtmlEncoded.

PS: Если вы хотите (иногда) не кодировать текст как HTML, придерживайтесь старых, но вы должны знать, что если эти данные были предоставлены пользователями, это считается угрозой безопасности, которая может используется как эксплойт для наложения XSS-атак на ваш веб-сайт / приложение.

2 голосов
/ 25 декабря 2010

Как указано в других ответах, это для Html-кодирования. Вот запись в блоге, объясняющая .

2 голосов
/ 25 декабря 2010

Оба используются для визуализации текста в представлении, однако, когда вы используете <%:, текст автоматически кодируется HTMLE. </p>

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