raw net mvc from codigo asp asp.net-mvc razor asp.net-mvc-5 html-helper

asp.net-mvc - net - mvc call partial view from javascript



Mostrar cadena de HTML desde el modelo en MVC Razor View (2)

Tengo un modelo archivado que devuelve una cadena HTML con etiqueta BR de salto de línea, pero ¿cómo puedo mostrar ese código HTML en el navegador? El problema en vez de poner el salto de línea, la etiqueta se muestra en la interfaz de usuario

Traté de poner el modelo dentro de Html.Raw (modelItem => item.Speaking), pero nunca funciona como esperaba una cadena adentro, y no puedo convertir la expresión lambda para escribir ''string'' porque no es un tipo de delegado

A continuación se muestra el código y los comentarios de lo que he intentado.

<div> @{ string strTest = "<br/>Line 1 <br/> Line 2<br>"; @Html.Raw(strTest); //This works and display as expected @MvcHtmlString.Create(strTest); //This works and display as expected @Html.Raw(Html.DisplayFor(modelItem => item.Speaking)); //This doesn''t work, its show the <br /> on the screen @MvcHtmlString.Create(Html.DisplayFor(modelItem => item.Speaking).ToString()); //This doent work, its show the <br /> on the screen @Html.Raw(modelItem => item.Speaking) //This throw error Cannot convert lambda expression to type string } </div>

Apreciar cualquier ayuda o sugerencia. ¡gracias por adelantado!


Prueba esto :

@(new HtmlString(stringWithMarkup))

¡y también puedes crear un ayudante de HTML !:

@helper RawText(string s) { @(new HtmlString(s)) }


En MVC4

En lugar de usar @Html.Raw(modelItem => item.Speaking)

Puede usar @Html.Raw(@Model.Speaking.ToString())

Funciona para mí y espero que esto ayude a alguien más también