Escape-Zeichen @ in der razor view engine
Erstelle ich ein Probe ASP.NET MVC 3 Website mit Razor als view engine. Die razor-syntax beginnt mit @
Charakter z.B. @RenderBody()
. Wenn ich Schreibe, @test meiner cshtml-Seite gibt es mir parse error
CS0103: Der name 'test' existiert nicht im aktuellen Kontext
Wie kann ich die ESC ' @ ' - Zeichen?
In C# können Sie markieren Schlüsselwörter, die mit einem @ zu behandeln, als Variablennamen anstelle von keywords. Mit allem, was ich weiß, scheint es unmöglich, reservierte Schlüsselwörter in Gestochen auf diese Weise.
der Weg zu noch markieren, Schlüsselwörter als Variablen ist, schließen Sie den zweiten
der Weg zu noch markieren, Schlüsselwörter als Variablen ist, schließen Sie den zweiten
@
in Klammern. Ich schaffte es, diese arbeiten durch das schreiben es auf diese Weise: @(@new)
InformationsquelleAutor ajay_whiz | 2010-09-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
@@
sollte es tun.@RazorCodePart1 @@ @RazorCodePart2
z.B. ein literal @ zwischen zwei Razor code-snippets.versuchen <text></text> oder @:
Die beste Lösung wäre die Verwendung der HTML-codierte Zeichenfolge für das @-Zeichen: @
Ich habe eine
<style>
tag in meinem Rasiermesser Seite, die zum einbetten eines '@media {} " - Richtlinie, so dass die html-Codierung ist keine option, nur @@ funktioniert.Im href-verwenden Sie @("@")
InformationsquelleAutor Tobiasopdenbrouw
Razor @ escape char-Symbolen...
oder
slick Mann! Sehr schön. Danke 🙂
Schön! Vielen Dank 🙂
Sie nagelte ihn, vielen Dank 🙂
Gut funktionierte. Danke.
InformationsquelleAutor Emre Karahan
verwenden
<text></text>
oder den einfacheren Weg@:
Das ist komisch. Sie müssen entfernt werden, in der version 4.
Hallo Kasper Skov, fand ich die @: Problem eigentlich nicht im Zusammenhang zu @: an alle. Es wurde im Zusammenhang mit unnötig mit @Model, in einer @if () {} - block. Das Update war, um die drop-Zeichen auf dem Modell. Ich muss vermeiden Sie die Verwendung von @, wenn schon im server-Bereich. stackoverflow.com/questions/12809855/...
ah ja das macht Sinn..
InformationsquelleAutor Kasper Skov
@Html.Raw("@")
scheint mir auch zuverlässiger als@@
, da nicht in allen Fällen@@
zu entkommen.Daher:
wäre:
InformationsquelleAutor Rosue Don-Chip Walford
Statt der HTML-entity-ich bevorzuge die Verwendung von @Html.Raw("@")
InformationsquelleAutor CLRBTH
@@ ist das escape-Zeichen für @ Razor-Ansichten wie oben angegeben.
Razor hat jedoch, um herauszufinden, wenn ein '@' ist nur ein '@' und wo es markiert C# (oder VB.Net -) code. Eine der wichtigsten Verwendungen für dies ist die Identifizierung von E-Mail-Adressen innerhalb einer Razor-Ansicht - es sollte nicht notwendig sein, zu entkommen, das @ - Zeichen in einer E-Mail-Adresse.
InformationsquelleAutor Alfamale
Zur Frage nach
@RazorCodePart1 @@ @RazorCodePart2
müssen Sie auf die Reihenfolge:Ich weiß, es sieht ein wenig seltsam, aber es funktioniert und erhalten Sie die literalen Zeichen '@' zwischen den code-Blöcken.
InformationsquelleAutor DragonDTG
Ich hatte gerade das gleiche problem. Als ich erklärte, dass eine variable setzen meinen text mit dem @.
InformationsquelleAutor watfy
diese Arbeit für mich
Oder im Vergleich zum Vorjahr verwenden können:
@@Alan_van_Buuren
😀
InformationsquelleAutor Alan
Ich habe versucht, alle oben genannten Optionen und nichts hat funktioniert. Dies ist, was ich getan habe, gearbeitet :
Erstellte ich eine string-Variable übergeben und alle RegEx-pattern code ein, dann verwendet die variable in der html-und Razor war cool mit ihm.
InformationsquelleAutor folorunso joseph
Können Sie die Verwendung von @@ für diesen Zweck.
Wie
var email = firstName + '\@@' + domain;
InformationsquelleAutor Abdus Salam Azad
nur eine variable hinzuzufügen, die in der CSHTML-Datei
var myVariable = @"@";
und fügen Sie es zu Ihrem layout
<span class="my-class"><a href="@myVariale" target="_blank" >link text</a></span>
InformationsquelleAutor Speedyjet
Konnte ich nicht, alle diese arbeiten in meinem Platzhalter-Attribut, so habe ich die xml-Sonderzeichen.
Siehe weitere Beispiele hier.
https://www.dvteclipse.com/documentation/svlinter/How_to_use_special_characters_in_XML.3F.html
InformationsquelleAutor Terje Solem
Eigentlich @ verwendet werden, sollten mit der Razor-syntax für Schlüsselwörter oder die variable/Modell binden Sie einen Wert ein.
ZB:
wenn der test zugeordnet ist, mit dem Wert
ich.e @ { var test = "ABC" }
dann können Sie den Wert, indem Sie Einstellungen wie @test überall ist cshtml-Seite im html-Teil.
ansonsten einfach benutzen, wie @Html.DisplayName("test")
InformationsquelleAutor Pavithra