tag route net for data asp all asp.net-mvc asp.net-mvc-3 razor

asp.net-mvc - route - tag helpers asp net core



Escritura/salida de cadenas HTML sin escaparse (6)

A veces puede ser difícil usar html en bruto. Sobre todo debido a la vulnerabilidad de XSS. Si eso es una preocupación, pero aún desea usar html en bruto, puede codificar las partes que dan miedo.

@Html.Raw("(<b>" + Html.Encode("<script>console.log(''insert'')</script>" + "Hello") + "</b>)")

Resultados en

(<b>&lt;script&gt;console.log(''insert'')&lt;/script&gt;Hello</b>)

He guardado HTML seguro / saneado en una tabla de base de datos.

¿Cómo puedo tener este contenido HTML escrito en una vista de Razor?

Siempre escapa a caracteres como < y ampersands to &amp; .



En ASP.NET MVC 3 deberías hacer algo como esto:

// Say you have a bit of HTML like this in your controller: ViewBag.Stuff = "<li>Menu</li>" // Then you can do this in your view: @MvcHtmlString.Create(ViewBag.Stuff)


Puedes poner tu cadena en viewdata en el controlador de esta manera:

ViewData["string"] = DBstring;

Y luego llame a ese viewdata en vista de esta manera:

@Html.Raw(ViewData["string"].ToString())


Puedes usar

@{ WriteLiteral("html string"); }


Suponiendo que su contenido está dentro de una cadena llamada mystring ...

Puedes usar:

@Html.Raw(mystring)

Alternativamente, puede convertir su cadena a HtmlString o cualquier otro tipo que implemente IHtmlString en el modelo o directamente en línea y use @ regular:

@{ var myHtmlString = new HtmlString(mystring);} @myHtmlString