Estoy creando un sitio de muestra ASP.NET MVC 3 usando Razor como motor de visualización. La sintaxis de la navaja comienza con el @
carácter, por ejemplo @RenderBody()
. Si escribo @test en mi página cshtml me da un error de análisis
CS0103: el nombre 'prueba' no existe en el contexto actual
¿Cómo escapo del personaje '@'?
razor
asp.net-mvc-3
ajay_whiz
fuente
fuente
@
entre llaves.@(@new)
Respuestas:
@@
Deberías hacerlo.fuente
@RazorCodePart1 @@ @RazorCodePart2
por ejemplo, una @ literal entre dos fragmentos de código Razor.<style>
etiqueta en mi página de afeitar, que tiene que incorporar una directiva '@media {}', por lo que la codificación html no es una opción; solo @@ funciona.Razor @ escape char a los símbolos ...
o
fuente
uso
<text></text>
o la forma más fácil@:
fuente
@Html.Raw("@")
Me parece ser aún más confiable que@@
, ya que no en todos los casos@@
se escapará.Por lo tanto:
sería:
fuente
En lugar de la entidad HTML, prefiero el uso de
@Html.Raw("@")
.fuente
@@ es el carácter de escape para @ en las vistas Razor como se indicó anteriormente.
Sin embargo, Razor intenta funcionar cuando una '@' es solo una '@' y donde marca el código C # (o VB.Net). Uno de los principales usos de esto es identificar las direcciones de correo electrónico dentro de una vista Razor; no debería ser necesario escapar del carácter @ en una dirección de correo electrónico.
fuente
Para la pregunta sobre
@RazorCodePart1 @@ @RazorCodePart2
, necesitas la secuencia:Lo sé, parece un poco extraño, pero funciona y obtendrá el carácter literal '@' entre los bloques de código.
fuente
Acabo de tener el mismo problema. Declaré una variable poniendo mi texto con la @.
fuente
este trabajo para mi
O puede usar: @@ Alan_van_Buuren
:RE
fuente
Puede usar @@ para este propósito. Me gusta
var email = firstName + '\@@' + domain;
fuente
simplemente agregue una variable en el archivo CSHTML
var myVariable = @"@";
y agrégalo a tu diseño
<span class="my-class"><a href="@myVariale" target="_blank" >link text</a></span>
fuente
Probé todas las opciones anteriores y ninguna funcionó. Esto es lo que hice que funcionó:
Creé una variable de cadena y le pasé todo el código del patrón RegEx, luego usé la variable en el html, y Razor fue genial con ella.
fuente
No pude lograr que ninguno de estos funcionara dentro de mi atributo de marcador de posición, así que usé un carácter especial xml.
Ver más ejemplos aquí. https://www.dvteclipse.com/documentation/svlinter/How_to_use_special_characters_in_XML.3F.html
fuente
En realidad, @ se debe usar con las palabras clave de sintaxis Razor o con la variable / modelo para vincular un valor.
Por ejemplo: si la prueba se asigna con un valor, es decir, @ {var test = "ABC"}, puede obtener el valor mediante la configuración, ya que @test en cualquier lugar es la página cshtml en la parte html. de lo contrario, uso simple como @ Html.DisplayName ("prueba")
fuente
Sé que esta pregunta es antigua, pero intenté todo lo anterior y no me ayudó a escapar del carácter "@" en el marco completo ASP.NET (MVC 5) dentro de una URL. Sin embargo, según la respuesta de Terje Solem, el código UTF-8
%40
funcionó para mí. esta es la URL original que intentaba alcanzar:https://unpkg.com/@google/[email protected]/dist/markerclustererplus.min.js
y con el código en él:
fuente