2010-11-13 15 views
34

No estoy muy seguro de cómo funciona esto aún ... tratando de encontrar documentación.cadenas de codificación HTML - ASP.NET Web Forms VS Razor View Engine

En mi aplicación existente Tengo dos maneras diferentes de cuerdas de renderizado en mi opinión

<%: model.something %> 
<!-- or --> 
<%= model.something %> 

El primero de ellos es HTML codificado, y el segundo no lo es.

¿Hay algo similar corto en Razor? Todo lo que puedo encontrar es esto, que es la versión codificada.

@model.something 

Respuesta

57

Creo que la mejor opción sería utilizar la cruda extensión del método: @Html.Raw(Model.Something)

+0

Recibí un correo electrónico de Marcind indicando que de hecho deberíamos estar usando esto. –

15

@Model.Something codifica HTML automáticamente. Si desea evitar la codificación HTML (y desea esto solo si está absolutamente seguro de lo que está haciendo), puede usar @MvcHtmlString.Create(Model.Something) (básicamente, todo lo que implemente IHtmlString no se codificará). Phil Haack blogged sobre la sintaxis del motor Razor view.

+1

fresco gracias. ¿Sabes si están trabajando en una sintaxis más corta para enviar una cadena sin codificar? algo como '@ = Model.Something' estaría bien. No decir que es la manera correcta, solo una idea. –

+4

Estamos buscando algo así para v2 de Razor. – marcind

+0

Estaré en éxtasis cuando esto llegue a buen término. De hecho, sería bueno poder establecer esto en una clase de amigos también para que esté configurada y olvidada. '' para '@ Html.EditorFor()' –

Cuestiones relacionadas