Что означает «:» в <% : а в чем разница с <% =?

В ASP.NET MVC 2 был добавлен тег <%: вместо <% = для помощников по HTML. Но что это значит и в чем отличие от предыдущего? Когда я должен использовать < % = и когда <%: ?

Спасибо

8
задан Fabiano 25 August 2010 в 15:39
поделиться

3 ответа

В ASP.NET 4 <% : синтаксис xyz %> будет делать то же самое, что и <%= Server.HtmlEncode(xyz) %> в предыдущих версиях. Это просто ярлык, потому что он используется так часто.

Как Ричард говорит ниже, он также может определить, не нужно ли кодировать строку, основываясь на том, реализует ли она интерфейс IHtmlString.

14
ответ дан 5 December 2019 в 06:36
поделиться

IIRC, <%: автоматически предоставляет Кодирование HTML, поэтому вам не нужно делать это самостоятельно.

Из сообщения в блоге Скотта Гатри :

В ASP.NET 4 мы представляем новый синтаксис кодового выражения ( <%:%> ) выводящий результат в виде <% =%> блоков делать - но который также автоматически HTML кодирует его перед этим.

Прочтите сообщение в блоге для получения более подробной информации.

8
ответ дан 5 December 2019 в 06:36
поделиться

<% = Вводит значение напрямую, тогда как <%: автоматически экранирует все страшные специальные символы.

Другими словами,

<%: myString%>

совпадает с

<% = Server.HtmlEncode (myString)%>

3
ответ дан 5 December 2019 в 06:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: