2008-11-18 14 views
27

Tengo código HTML emitido por FCKEditor almacenado en una base de datos y me gustaría mostrarlo (bien renderizado) en una vista. Así, por ejemplo, algo almacena como:¿Cómo mostrar HTML almacenado en una base de datos desde una vista ASP.NET MVC?

<>pre<>This is some sample text<>pre</&gt 

se mostrará al usuario como:

This is some sample text 

(Con el estilo apropiado para el pre-texto con formato)

La vista ya tiene la cadena requerida para mostrar desde ViewData, no estoy seguro de cuál es la mejor manera de mostrarlo al usuario.

Respuesta

53

tratar

<%= System.Web.HttpUtility.HtmlDecode(yourEncodedHtmlFromYouDatabase) %> 

más información here @ MSDN online.

hth!

+22

esto no funciona para la maquinilla de afeitar, maquinilla de afeitar para usar @ Html.Raw (System.Web.HttpUtility.HtmlDecode (Model.yourhtmlvalue)) – Niraj

+4

Comprobación de la fecha de mi respuesta .. era PRE Razor: P –

+2

Gracias por traer la fecha a mi atención. Pura, he citado solo por la información de alguien, su verdadero Razor no existía cuando publicaste tu respuesta. – Niraj

46

La respuesta proporcionada por Pure.Krome es perfecta para MVC2, pero tenga en cuenta la maquinilla de afeitar sintaxis:

@Html.Raw(System.Web.HttpUtility.HtmlDecode(Model.yourEncodedHtmlFromYourDatabase)) 

Alternativamente,

@Html.Raw(Server.HtmlDecode(Model.yourEncodedHtmlFromYourDatabase)) 
+0

¿Cómo puedo hacer que sea un texto de enlace? – touinta

2

que desea utilizar @Html.Raw(str)

Ver MSDN para obtener más

Devuelve un marcado que no está codificado en HTML.

Este método ajusta el marcado HTML utilizando la clase IHtmlString, que representa HTML sin codificar.

Cuestiones relacionadas