Теги asp.net mvc: <%:%> против <% =%> - PullRequest
       2

Теги asp.net mvc: <%:%> против <% =%>

5 голосов
/ 26 сентября 2010

Насколько я могу судить, оба этих типа тегов делают одно и то же. Что предпочтительнее использовать?

Ответы [ 5 ]

8 голосов
/ 26 сентября 2010

Он вызывает HtmlEncode для значения

См. блог ScottGu для дополнительной информации.

4 голосов
/ 26 сентября 2010

Они не одинаковы:

<%=%> is the same as `Response.Write`
<%:%> adds `Server.HtmlEncode` to `Response.Write`

Следовательно, <%:%> является предпочтительным (добавлено начиная с .NET 4.0), так как добавляет меру безопасности кодирования вывода перед выводом строки.

Если вы используете .NET 3.5 или более раннюю версию, рекомендуется использовать <%=Server.HtmlEncode(val)%>.

2 голосов
/ 26 сентября 2010

Вы используете «<%:», когда вам нужно санировать строку (то есть из чего-то, что было введено пользователем и может быть потенциально вредоносным)в HTML и <%: то же самое, что и запись <% = Html.Encode ("что-то")%>

2 голосов
/ 26 сентября 2010
<%: someString %>

похоже на

<%= HttpUtility.HtmlEncode(someString) %>
2 голосов
/ 26 сентября 2010

<%: %> предпочтительнее, так как он автоматически HTML-кодирует значение, однако он работает только в .NET 4.

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