В ASP.NET MVC 2 был добавлен тег <%:
вместо <% =
для помощников по HTML. Но что это значит и в чем отличие от предыдущего? Когда я должен использовать < % =
и когда <%:
?
Спасибо
В ASP.NET 4 <% : синтаксис xyz %>
будет делать то же самое, что и <%= Server.HtmlEncode(xyz) %>
в предыдущих версиях. Это просто ярлык, потому что он используется так часто.
Как Ричард говорит ниже, он также может определить, не нужно ли кодировать строку, основываясь на том, реализует ли она интерфейс IHtmlString
.
IIRC, <%:
автоматически предоставляет Кодирование HTML, поэтому вам не нужно делать это самостоятельно.
Из сообщения в блоге Скотта Гатри :
В ASP.NET 4 мы представляем новый синтаксис кодового выражения (
<%:%>
) выводящий результат в виде<% =%>
блоков делать - но который также автоматически HTML кодирует его перед этим.
Прочтите сообщение в блоге для получения более подробной информации.
<% = Вводит значение напрямую, тогда как <%: автоматически экранирует все страшные специальные символы.
Другими словами,
<%: myString%>
совпадает с
<% = Server.HtmlEncode (myString)%>