Mostra HTML codificato con razor

Conservo codice HTML codificato nel database.

L’unico modo per visualizzarlo correttamente è:

@MvcHtmlString.Create(HttpUtility.HtmlDecode(Model.Content));

È brutto. C’è un modo migliore per farlo?

Prova questo:

 
@Html.Raw(HttpUtility.HtmlDecode(Model.Content))

Utilizzare Html.Raw() . Phil Haack ha pubblicato una bella guida alla syntax su http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx .

 
@Html.Raw( Model.Content )

questo è piuttosto semplice:

 HttpUtility.HtmlDecode(Model.Content) 

Un’altra soluzione, è anche ansible restituire una stringa HTML, Razor restituirà la formattazione corretta:

nella vista stessa:

 @Html.GetSomeHtml() 

nel controller:

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

Puoi anche utilizzare semplicemente la class HtmlString

  @(new HtmlString(Model.Content)) 

Conservo codice HTML codificato nel database.

Imho non si dovrebbe memorizzare i dati codificati in html nel database. Basta memorizzare in testo normale (non codificato) e solo visualizzare i tuoi dati come questo e il tuo html sarà automaticamente codificato:

 
@Model.Content