ASP.NET MVC4 - отображает HTML, содержащий строку как необработанный HTML

У меня есть строка, прочитанная из базы данных, содержащая HTML, который я хочу вывести. Несмотря на применение HttpUtility.HtmlDecode(), представление всегда отображает строку как кодированный HTML (т.е. &lt;SPAN&gt; вместо <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)