www update tools sintaxis que packs net mvc4 mvc language instalar espaƱol asp razor asp.net-mvc-3

update - sintaxis razor mvc 5



Escape @ personaje en la maquinilla de afeitar vista (14)

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 ''@''?


@@ 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.


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

@{ var twitterSite = "@MyTwitterSite"; } ... <meta name="twitter:site" content="@twitterSite">


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


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")



Para la pregunta sobre @RazorCodePart1 @@ @RazorCodePart2 , necesita la secuencia:

@RazorCodePart1 @:@@ @RazorCodePart2

Lo sé, parece un poco extraño, pero funciona y te dará el carácter literal ''@'' entre los bloques de código.


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

@{ string str = @"[a-z0-9._%+-]+@[a-z0-9.-]+/.[a-z]{2,3}$"; } <td>Email</td> <td> <input type="text" id="txtEmail" required name="email" pattern=@str /> </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.


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


Razor @ escape char a símbolos ...

<img src="..." alt="Find me on twitter as @("@username")" />

o

<img src="..." alt="Find me on twitter as @("@")username" />


este trabajo para mi

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

O puedes usar: @@ Alan_van_Buuren

:RE


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>


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


@@ debería hacerlo.


@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">