¿Es posible mostrar Html sin formato desde la base de datos en ASP.NET MVC 3?

Tengo una tabla en mi db donde una de las propiedades es una página Html (sin las tags html, head y body), y tengo la intención de ponerla en el medio de una de mis vistas, por ejemplo, llamo a un método de cotroller que toma un argumento y devuelve una vista pasando esta cadena grande html como el modelo. Lo busqué (no mucho, lo admito) y encontré el siguiente método:

 

Eso fue encontrado aquí en stackoverflow. Cuando probé una aproximación similar, terminé con esto:

 @System.Web.HttpUtility.HtmlDecode("

Test

")

Esa es la idea, pero no funcionó del todo como lo planeé.

Todo lo que necesita es: @Html.Raw(yourEncodedHtmlFromYouDatabase)

Supongo que el html en la base de datos ha sido desinfectado correctamente (o al menos desde una fuente confiable), porque si no, podría estarse abriendo a ataques de scripting entre sitios.

La razón por la cual su enfoque no funcionó es que Razor HTML-codifica la salida por defecto (cada vez que usa @ para mostrar algo). Html.Raw le dice a Razor que confía en el HTML y que desea mostrarlo sin codificarlo (ya que es HTML sin formato).

También puede devolver un HTMLString y Razor mostrará el formato correcto, por ejemplo.

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

Esto te permitirá visualizar HTML