web-dev-qa-db-fra.com

Razor ViewEngine: Comment puis-je échapper au symbole "@"?

J'essaie de générer des descripteurs Twitter dans ASP.NET MVC3 en conjonction avec l'API Twitter @Anywhere, et je n'ai pas été en mesure de comprendre comment échapper réellement le symbole "@" dans une vue Razor.

Quelqu'un sait-il quelle est la syntaxe pour échapper au caractère "@" dans Razor?

J'ai essayé d'utiliser <text></text> et cela entraîne une erreur JIT.

94
Aaronontheweb

Vous devez utiliser @@ pour échapper au symbole @.

Une chose importante à noter est que vous n'avez PAS besoin d'échapper au symbole @ lorsqu'il existe dans une adresse e-mail. Le rasoir devrait être suffisamment intelligent pour le comprendre par lui-même.

133
JasCav

Si vous ajoutez des balises META Twitter

et votre nom d'utilisateur Twitter est, disons, blrbr (suivez-moi;))

ça devrait ressembler à ça

<meta name="Twitter:site" content=@("@blrbr")>
22
Matt

si vous avez besoin de commenter @ symboles dans le code CSS et que @@ ne fonctionne pas, utilisez ceci:

@("@@font-face"){ ... css ...}
15
Lin-Art

J'avais encore un autre cas étrange: passez '@' + @Model.SomeProperty À un lien href.

La meilleure solution pour ce cas a été donnée à l'OMI dans cette réponse à une question similaire. @@ Et @: Ne fonctionnaient pas tout en utilisant le code html &#64; Compliquerait les choses.

Donc, mon code était <a href="~/path/?query=@('@')@Model.SomePropery">

@Html.Raw('@')@Model.SomePropery aurait également fonctionné.

2
Tiberiu Craciun