Подтвердить что ты не робот

Отображение кодированного html с бритвой

Я храню закодированный HTML в базе данных.

Единственный способ, которым я мог правильно его отобразить, - это:

<div class='content'>    
   @MvcHtmlString.Create(HttpUtility.HtmlDecode(Model.Content));
</div>

Это некрасиво. Есть ли лучший способ сделать это?

4b9b3361

Ответ 1

Попробуйте следующее:

<div class='content'>    
   @Html.Raw(HttpUtility.HtmlDecode(Model.Content))
</div>

Ответ 3

Это довольно просто:

HttpUtility.HtmlDecode(Model.Content)

Еще одно решение, вы также можете вернуть HTMLString, Razor выведет правильное форматирование:

в самом представлении:

@Html.GetSomeHtml()

в контроллере:

public static HtmlString GetSomeHtml()
{
    var Data = "abc<br/>123";
    return new HtmlString(Data);
}

Ответ 4

Вы также можете просто использовать класс HtmlString

    @(new HtmlString(Model.Content))

Ответ 5

Я храню закодированный HTML в базе данных.

Имхо, вы не должны хранить ваши данные, закодированные html в базе данных. Просто сохраните текст (не закодированный) и просто покажите свои данные как это, и ваш html будет автоматически закодирован:

<div class='content'>
    @Model.Content
</div>