Строки кодирования HTML - Веб-формы ASP.NET VS Razor View Engine

Я не совсем уверен, как это работает... пытаясь найти документацию.

В моем существующем приложении у меня есть два разных способа отображения строк в моем представлении

<%: model.something %>
<!-- or -->
<%= model.something %>

Первый кодируется html, а второй - нет.

Есть ли что-то подобное в Razor? Все, что я могу найти, это то, что является кодированной версией.

@model.something

Ответ 1

Я предполагаю, что наилучшим подходом было бы использовать Raw extension-method: @Html.Raw(Model.Something)

Ответ 2

@Model.Something автоматически кодируется HTML. Если вы хотите избежать кодировки HTML (и вы хотите это, только если вы абсолютно уверены, что вы делаете), вы можете использовать @MvcHtmlString.Create(Model.Something) (в основном все, что реализует IHtmlString не будет кодироваться). Phil Haack в блоге о синтаксисе механизма просмотра Razor.