Je crée un exemple de site ASP.NET MVC 3 en utilisant Razor comme moteur de vue. La syntaxe du rasoir commence par un @
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 échapper au caractère '@'?
razor
asp.net-mvc-3
ajay_whiz
la source
la source
@
entre accolades. J'ai réussi à faire fonctionner cela en l'écrivant de cette façon:@(@new)
Réponses:
@@
devrait le faire.la source
@RazorCodePart1 @@ @RazorCodePart2
par exemple un @ littéral entre deux extraits de code Razor.<style>
balise dans ma page de rasoir, qui doit intégrer une directive '@media {}', donc l'encodage html n'est pas une option; uniquement @@ fonctionne.Razor @ escape char aux symboles ...
ou
la source
utiliser
<text></text>
ou la manière la plus simple@:
la source
@Html.Raw("@")
me semble être encore plus fiable que@@
, puisque dans tous les cas@@
ne s'échappera pas.Donc:
serait:
la source
Au lieu d'entité HTML, je préfère l'utilisation de
@Html.Raw("@")
.la source
@@ est le caractère d'échappement pour @ dans les vues Razor comme indiqué ci-dessus.
Razor essaie cependant de déterminer quand un '@' est juste un '@' et où il marque le code C # (ou VB.Net). L'une des principales utilisations de ceci est d'identifier les adresses e-mail dans une vue Razor - il ne devrait pas être nécessaire d'échapper le caractère @ dans une adresse e-mail.
la source
Pour la question sur
@RazorCodePart1 @@ @RazorCodePart2
, vous devez la séquence:Je sais, cela semble un peu étrange, mais cela fonctionne et vous obtiendrez le caractère littéral «@» entre les blocs de code.
la source
J'ai juste eu le même problème. J'ai déclaré une variable mettant mon texte avec le @.
la source
ce travail pour moi
Ou vous pouvez utiliser: @@ Alan_van_Buuren
:RÉ
la source
Vous pouvez utiliser @@ à cet effet. Comme
var email = firstName + '\@@' + domain;
la source
il suffit d'ajouter une variable dans le fichier CSHTML
var myVariable = @"@";
et ajoutez-le à votre mise en page
<span class="my-class"><a href="@myVariale" target="_blank" >link text</a></span>
la source
J'ai essayé toutes les options ci-dessus et aucune n'a fonctionné. C'est ce que j'ai fait qui a fonctionné:
J'ai créé une chaîne variable et passé tout le code de modèle RegEx dedans, puis utilisé la variable dans le html, et Razor était cool avec elle.
la source
Je n'ai pas pu faire fonctionner ces éléments dans mon attribut d'espace réservé, j'ai donc utilisé le caractère spécial xml.
Voir plus d'exemples ici. https://www.dvteclipse.com/documentation/svlinter/How_to_use_special_characters_in_XML.3F.html
la source
En fait, @ doit être utilisé avec les mots-clés de la syntaxe Razor ou avec la variable / modèle pour lier une valeur.
Par exemple: si le test est affecté avec une valeur, c'est-à-dire @ {var test = "ABC"}, vous pouvez obtenir la valeur par les paramètres car @test n'importe où est la page cshtml dans la partie html. sinon, simple utilisation comme @ Html.DisplayName ("test")
la source
Je sais que cette question est ancienne, mais j'ai essayé tout ce qui précède et cela ne m'a pas aidé à échapper au caractère "@" dans le framework complet ASP.NET (MVC 5) à l'intérieur d'une URL. Sur la base de la réponse de Terje Solem, le code UTF-8 a
%40
fonctionné pour moi. il s'agit de l'URL d'origine que j'essayais d'atteindre:https://unpkg.com/@google/[email protected]/dist/markerclustererplus.min.js
et avec le code dedans:
la source