#asp.net-mvc #razor #html-encode #ampersand
#asp.net-mvc #razor #html-кодирование #амперсанд
Вопрос:
При рендеринге html в представлении я хотел бы фактически отображать объекты html, которые закодированы в отображаемом тексте. Я могу выполнить это с @Html.Raw()
помощью . Однако, когда дело доходит до объекта амперсанда, @Html.Raw()
он отображается как amp;
, а не amp;amp;
как, что не является допустимым html. Возможно ли получить вывод с декодированными объектами html, но с объектом амперсанда, закодированным так, чтобы отображаемый html был действительным? Или мне нужно выполнить некоторую предварительную обработку перед рендерингом текста @html.Raw()
?
Пример:
string text = "amp;<h3amp;>Mike amp;amp; Janeamp;</h3amp;>";
Я бы хотел, чтобы вывод @html.Raw(text)
(или другой функции) был:
<h3>Mike amp;amp; Jane</h3>
Спасибо
Комментарии:
1. Быстрым решением было бы двойное кодирование амперсанда, например, с использованием замены строки
amp;amp;amp;
.2. Этого будет достаточно. Спасибо