Что является различием между <%: и <% = в ASP.NET MVC?

Я не могу найти эту информацию нигде. Вероятно, потому что Google игнорирует ключевые слова. Есть ли различие между использованием <%: и <%= на Вашей aspx странице? Они кажутся взаимозаменяемыми.

10
задан Anthony Mastrean 16 September 2013 в 13:45
поделиться

3 ответа

<%:%> - это новая вещь в ASP.NET MVC 2 . Это то же самое, что <% = Html.Encode ("Text")%> . Рекомендуется всегда использовать <%:%> , если у вас нет особых причин не делать этого (например, вы визуализируете данные из некоторого файла или базы данных, которые уже были закодированы).

19
ответ дан 3 December 2019 в 14:52
поделиться

Разница в том, что :

<%= "my " %> выведет my , что является неправильным HTML

<%: "my " %> выведет my <text>, что лучше

Подробнее здесь

6
ответ дан 3 December 2019 в 14:52
поделиться

@ntcolonel прав в деньгах. Кроме того, для случаев, когда ваши данные уже были закодированы, предоставьте их, используя что-нибудь, реализующее IHtmlString . Это предотвращает двойное кодирование и позволяет всегда использовать <%:%> .

Я считаю, что магазины ASP.NET 4 должны стремиться к применению политики <%:%>.

Кроме того, новый синтаксис предназначен для ASP.NET 4 в целом; не обязательно просто MVC, что является отличной новостью для разработчиков WebForms.

6
ответ дан 3 December 2019 в 14:52
поделиться
Другие вопросы по тегам:

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