Question Escape @ character dans le moteur de vue rasoir


Je crée un exemple de site ASP.NET MVC 3 en utilisant Razor comme moteur de vue. La syntaxe du rasoir commence par @ caractère, par exemple @RenderBody(). Si j'écris @test sur ma page cshtml, cela me donne une erreur d'analyse

CS0103: Le nom 'test' n'existe pas dans le contexte actuel

Comment puis-je échapper le caractère '@'?


470
2017-09-02 10:35


origine


Réponses:


@@ devrait le faire.


742
2017-09-02 12:02



Razor @ escape char aux symboles ...

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

ou

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

114
2018-01-29 13:19



utilisation <text></text> ou le moyen le plus simple @:


35
2017-07-14 20:13



@Html.Raw("@") me semble encore plus fiable que @@, puisque pas dans tous les cas @@ va s'échapper.

Donc:

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

serait:

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

25
2018-03-25 20:46



Au lieu de l'entité HTML, je préfère l'utilisation de @ Html.Raw ("@")


16
2018-03-30 16:30



@@ est le caractère d'échappement pour @ dans les vues de rasoir comme indiqué ci-dessus.

Razor essaie cependant de travailler quand un @ est juste un @ et où il marque un code C # (ou VB.Net). L'une des utilisations principales consiste à identifier les adresses électroniques dans une vue Razor - il ne devrait pas être nécessaire d'échapper au caractère @ dans une adresse électronique.


12
2017-09-13 13:31



Pour la question sur @RazorCodePart1 @@ @RazorCodePart2, vous avez besoin de la séquence:

@RazorCodePart1 @:@@ @RazorCodePart2

Je sais, ça a l'air un peu bizarre, mais ça marche et vous obtiendrez le caractère littéral «@» entre les blocs de code.


8
2017-10-07 18:37



J'ai juste eu le même problème. J'ai déclaré une variable mettant mon texte avec le @.

@{
   var twitterSite = "@MyTwitterSite";
}

...

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

5
2018-03-22 15:30