683 Stimmen

Escape @ Zeichen in der Razor View Engine

Ich erstelle eine Beispielsite für ASP.NET MVC 3 mit Razor als View Engine. Die Razor-Syntax beginnt mit @ Zeichen z.B. @RenderBody() . Wenn ich @test auf meine cshtml-Seite schreibe, erhalte ich einen Parse-Fehler

CS0103: Der Name 'test' existiert nicht im aktuellen Kontext

Wie entferne ich das Zeichen '@'?

1 Stimmen

In C# können Sie Schlüsselwörter mit einem @ markieren, um sie als Variablennamen und nicht als Schlüsselwörter zu behandeln. Nach allem, was ich weiß, scheint es unmöglich, reservierte Schlüsselwörter in Razor auf diese Weise zu verwenden.

1 Stimmen

@GrimaceofDespair die Möglichkeit, Schlüsselwörter trotzdem als Variablen zu kennzeichnen, besteht darin, die zweite @ in Klammern. Ich habe es so hinbekommen, indem ich es so geschrieben habe: @(@new)

1109voto

Tobiasopdenbrouw Punkte 13235

@@ sollte es tun.

194voto

Emre Karahan Punkte 1869

Razor @ escape char to symbols...

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

o

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

51voto

@Html.Raw("@") scheint mir noch zuverlässiger zu sein als @@ da nicht in allen Fällen @@ wird entkommen.

Deshalb:

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

wäre:

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

44voto

Kasper Skov Punkte 1834

Utilice <text></text> oder der einfachere Weg @:

30voto

CLRBTH Punkte 492

Anstelle der HTML-Entität bevorzuge ich die Verwendung von @Html.Raw("@") .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X