Me he estado rascando sobre esto por unos días, y no estoy seguro de si es un problema con mi entorno o el código en sí mismo basándome en ser ASP .NET MVC (aunque tengo 5 años de experiencia en C#). Estoy utilizando una instalación limpia reciente de Win7x64 y VS 2008 con todos los parches.ASP.NET MVC Pasar HTML sin procesar desde el Controlador a la Vista
Tengo HTML sin formato almacenado en una tabla de base de datos que el controlador carga selectivamente en función de unas pocas reglas sobre las que no tengo control. Por desgracia, cuando intento de rellenar el valor en una vista de datos en el control, como por ejemplo:
ViewData["HTMLData"] = DAO.HTMLDataGet();
Cuando veo la salida, se escapó/HTML codificado. He intentado utilizar el siguiente todo lo cual no pareció resolver este problema:
<%: HttpUtility.HtmlDecode(ViewData["HTMLData"].ToString())%>
Y ...
<%: Server.HtmlDecode(ViewData["HTMLData"].ToString())%>
Y ...
<%: Html.Raw(ViewData["HTMLData"].ToString())%>
... Se agarra el HTML sin procesar de la tabla de la base de datos está bien, pero sigue forzando esa maldita codificación independientemente de lo que intento. Por lo que leí en MSDN, había una nota al pie sobre los problemas resultantes de que HTML no se decodificara correctamente y que tuviera espacios (lo que hace el mío). Como dudo que soy el único que se ha enfrentado a esto, recurro a ustedes, amigos, para obtener algunas ideas.
Estoy a punto de Kludge a pesar de que con una expresión regular en la vista para hacer la limpieza de la página, pero pensé que sería mejor obtener algunos consejos de otras personas antes de que la fuerza bruta. Gracias de antemano.
¿El contenido es todo html que debe devolverse a la vista? – bhuvin
Creo que he resuelto el misterio. Estaba usando <%: %> en lugar de <%= %> - este último resuelve el problema. Para Microsoft, tratando de hacer las cosas más fáciles, han tomado muchísimas decisiones tontas con ASP.Net como esta y otras pseudo marcado inútiles – Dave
Usando lo que 111Eleven – Oleg