razor español - Escape @ personaje en la maquinilla de afeitar vista




que update (13)

No pude hacer que ninguno de estos funcionara dentro del atributo de mi marcador de posición, por lo que utilicé un carácter especial xml.

<input type="text" placeholder="fex: firstname&#64;lastname.com"/>

Ver más ejemplos aquí. https://www.dvteclipse.com/documentation/svlinter/How_to_use_special_characters_in_XML.3F.html

Estoy creando un sitio MVC 3 de ASP.NET de ejemplo utilizando Razor como motor de visualización. La sintaxis de la maquinilla de afeitar 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 puedo escapar del carácter '@'?


@Html.Raw("@") me parece aún más confiable que @@ , ya que en todos los casos @@ no escapará.

Por lo tanto:

<meta name="twitter:site" content="@twitterSite">

sería:

<meta name="twitter:site" content="@Html.Raw("@")twitterSite">

En lugar de la entidad HTML, prefiero el uso de @ Html.Raw ("@")


use <text></text> o la forma más fácil @:


Acabo de tener el mismo problema. Declaré una variable poniendo mi texto con la @.

@{
   var twitterSite = "@MyTwitterSite";
}

...

<meta name="twitter:site" content="@twitterSite">

@@ es el carácter de escape para @ en las vistas de Razor como se indicó anteriormente.

Sin embargo, Razor intenta calcular cuándo un '@' es solo un '@' y donde marca el código C # (o VB.Net). Uno de los usos principales para esto es identificar las direcciones de correo electrónico dentro de una vista de Razor; no debería ser necesario escapar del carácter @ en una dirección de correo electrónico.


este trabajo para mi

<meta name="author" content="Alan van Buuren @("@Alan_van_Buuren")">

O puedes usar: @@ Alan_van_Buuren

:RE


Probé todas las opciones anteriores y ninguna funcionó. Esto es lo que hice que funcionó:

@{
    string str = @"[a-z0-9._%+-][email protected][a-z0-9.-]+\.[a-z]{2,3}$";
}

<td>Email</td>
<td>
   <input type="text" id="txtEmail" required name="email" [email protected] /> 
</td>

Creé una cadena variable y le pasé todo el código de patrón RegEx, luego usé la variable en el html, y Razor fue genial con ella.


En realidad, @ debe usarse con las palabras clave de sintaxis de Razor o con la variable / modelo para vincular un valor.

Por ejemplo: si a la prueba se le asigna un valor, es decir, @ {var test = "ABC"}, puede obtener el valor mediante la configuración ya que @test en cualquier parte es una página cshtml en la parte html. de lo contrario, uso simple como @ Html.DisplayName ("prueba")


@@ debería hacerlo.


solo agregue una variable en el archivo CSHTML var myVariable = @"@";

y agréguelo a su diseño <span class="my-class"><a href="@myVariale" target="_blank" >link text</a></span>


Puedes usar @@ para este propósito. Like var email = firstName + '\@@' + domain;


Esto se debe a que se refiere a la propiedad del controlador denominada HttpContext . Para acceder al contexto actual usa el nombre de clase completo:

System.Web.HttpContext.Current

Sin embargo, esto no se recomienda para acceder a un contexto como este en ASP.NET MVC, así que sí, puede pensar que System.Web.HttpContext.Current está en desuso dentro de ASP.NET MVC. La forma correcta de acceder al contexto actual es

this.ControllerContext.HttpContext




razor asp.net-mvc-3