Я пытаюсь отобразить в браузере буквальный HTML через мой Razor View.
У меня есть что-то вроде этого в коде:
@Html.Encode("<!-- foo -->")
Я ожидал, что помощник Html.Encode вернет
<-- foo -->
но вместо этого он возвращает
&lt;!-- foo --&gt;
Похоже, что помощник Encode кодирует строку дважды.
Итак, чтобы получить желаемый результат, мне нужно обернуть помощник Encode с помощью помощника Raw следующим образом
@Html.Raw(Html.Encode("<!-- foo -->"))
Я новичок в MVC / Razor, так что это поведение меня немного смущает и неуверенно относительно того, верны ли мои ожидания того, как Html.Encode должен вести себя , правильно.
Двигаясь вперед с Razor, должен ли я смириться с этим и привыкнуть оборачивать Html.Encode в Html.Raw, когда я хочу кодировать строку в HTML? Есть ли "лучший" способ кодирования строки HTML в Razor?