2011-03-13 10 views
87

Estoy tratando de generar algunos identificadores de Twitter en ASP.NET MVC3 junto con Twitter @Anywhere API, y no he podido averiguar cómo escapar realmente del símbolo "@" en una vista Razor.Razor ViewEngine: ¿Cómo escapo del símbolo "@"?

¿Alguien sabe cuál es la sintaxis para escapar del carácter "@" en Razor?

He intentado usar <text></text> y eso produce un error JIT.

+1

También puede utilizar el Entidad HTML '@'. – rsenna

Respuesta

115

Tienes que usar @@ para escapar del símbolo @.

Una cosa importante a tener en cuenta es que NO es necesario que escape el símbolo @ cuando existe dentro de una dirección de correo electrónico. Razor debería ser lo suficientemente inteligente como para darse cuenta por sí mismo.

+0

Gracias, JasCav - ¡eso funcionó! – Aaronontheweb

+4

, ambos errores de sintaxis en VS y error del analizador en tiempo de ejecución. –

+1

@Tien ver el último código de carácter HTML aquí trabajado para mí: http://stackoverflow.com/a/13584640/84206 – AaronLS

14

si es necesario comentar @ símbolos de código CSS y simplemente no funcionará @@, utilice esto:

@("@@font-face"){ ... css ...} 
+0

Este es el mejor método como la entidad HTML no es útil dentro de CSS. – ChrisF

2

tuve otro caso extraño: '@' + @Model.SomeProperty pasar a un href enlace.

La mejor solución para este caso se le dio IMO en this answer a una pregunta similar. Tanto @@ y @: no funcionó mientras se usa el código html &#64; que complicaría las cosas.

Por lo tanto, mi código era <a href="~/path/[email protected]('@')@Model.SomePropery">

@Html.Raw('@')@Model.SomePropery hubiera funcionado así.

17

Si va a añadir etiquetas meta Twitter

y su nombre de usuario de Twitter es, por ejemplo, blrbr (sígueme;))

que debería tener este aspecto

<meta name="twitter:site" [email protected]("@blrbr")> 
Cuestiones relacionadas