ASP.NET MVC4 - отображает HTML, содержащий строку как необработанный HTML
У меня есть строка, прочитанная из базы данных, содержащая HTML, который я хочу вывести. Несмотря на применение HttpUtility.HtmlDecode()
, представление всегда отображает строку как кодированный HTML (т.е. <SPAN>
вместо <SPAN>
).
Я использую:
string test = WebUtility.HtmlDecode(myStr);
<span>@test</span>
Я пробовал:
string test = HttpUtility.HtmlDecode(myStr);
<span>@test</span>
<span>@HttpUtility.HtmlDecode(myStr)</span>
Ответы
Ответ 1
Используйте Html.Raw()
@Html.Raw("<span>Hello</span>")
Все выходные данные из помощников и других элементов в Razor передаются через HttpUtility.HtmlEncode
, если они не реализуют IHtmlString
. Но лучше всего использовать Html.Raw()
Ответ 2
Вам нужно использовать @Html.Raw
:
@Html.Raw("<h1>Header</h1>")
Выведет текст Header
.
Ответ 3
Попробуйте этот вспомогательный метод
@Html.Raw(myStr)