Razor @if Inside-Skript wird von VS11 abgelehnt

9

Ist das folgende Markup falsch oder ist es ein Fehler in der Razor-Engine in MVC4? Wie auch immer, was ist die beste Problemumgehung?

Der gesamte Inhalt von View1.cshtml wird angezeigt. Es kompiliert gut, aber die Intellisense-Fehlerhervorhebung ist ärgerlich. (Wird als Bild angezeigt, damit Sie sehen können, wie die Syntax von VS11 abgelehnt wird.)

Hote, dass die @: -Syntax (statt <text></text> ) ebenfalls nicht akzeptiert wird.

    
James 05.05.2012, 10:23
quelle

2 Antworten

5

Es ist ein wenig schwierig, JavaScript mit Razor zu mischen. Persönlich finde ich es einfacher, diese beiden Typen zu trennen, indem Sie entweder Razor @function oder Razor custom @helper verwenden.

Hier ist ein einfaches Beispiel:

%Vor%     
Tohid 19.06.2012, 21:34
quelle
0

Ich bemerkte auch seltsames Verhalten des Syntax-Highlighters. Dies ist nicht wirklich eine Antwort, sondern:

  • Ich versuche, Modelldaten nicht in Javascript zu mixen. Obwohl es stark ist, ist es ein wenig Spaghetti-ähnlich.
  • Ich versuche auch, so wenig wie möglich Tags im HTML zu haben. Ich benutze js includes und jQuery $ (document) .ready (function () ... funktioniert innerhalb dieser.
  • Dort können Sie die JSON-Daten aus den Datenattributen und Basis-JavaScript-Entscheidungen für diese extrahieren.

(wollte dies als Kommentar schreiben, fand aber nicht den Weg dazu, Entschuldigung für den Debump)

    
Jacco 04.06.2012 15:18
quelle