Последняя запись в блоге Scott Hanselman о новых функциях VS 2010 упоминает "новое <%: %> кодирование синтаксиса". Что это делает? Поиск этих тегов с Google, кажется, не возможен...
Спасибо,
Adrian
Он выводит HTML с закодированными объектами. Это сокращение от
<%= HttpUtility.HtmlEncode("Some string") %>
. Более того, его можно расширить для выполнения дополнительных интересных вещей, таких как защита вывода от XSS, как продемонстрировал Фил Хаак .
Фил Хаак , Скотт Гатри и Скотт Хансельман много писали в блоге о новых и улучшенных функциях .NET 4.
Я думаю, это гарантирует, что текст, содержащийся внутри, будет очищен, так что java-скрипт не может быть вставлен на страницу
, поэтому, если у вас есть
userdata = alert ("textstring")
<%= userdata %>
отобразит окно сообщения на странице
<%: userdata %>
отобразит текст 'alert ("textstring")'
Он автоматически закодирует HTML-код заключенного выражения.
Итак ...
<%: yourString %>
... эквивалентно ...
<%= HttpUtility.HtmlEncode(yourString) %>
См. Следующую ссылку MSDN для получения дополнительной информации:
Его цель - помочь предотвратить атаки XSS посредством кодирования HTML.
На самом деле этот поиск Google привел меня к объяснению Скотта Гатри .