Warum gibt es in ASP.Net MVC 2.0 kein Intellisense, wenn Model-Werte JavaScript zugewiesen werden?

8

Ich versuche, auf meiner Inhaltsseite einige Modelleigenschaften in mein JavaScript einzufügen:

%Vor%

Weiß jemand, ob dies beabsichtigt ist? Sind Sie nicht dazu gedacht, Model-Eigenschaften mit JavaScript zu kombinieren? Oder ist das ein Fehler?

Dies funktioniert wie erwartet. Ich habe jedoch kein Intellisense innerhalb der <% ... %> -Tags, wenn ich den Code tatsächlich schreibe. Wenn ich Code in <script> -Tags schreibe, dann gibt es kein Intellisense. Wenn ich direkt unter dem Tag </script> gehe und <% Model.... %> eintippe, dann boom , habe ich wieder Intellisense.

UPDATE: 22.10.2010

Lesen Sie einfach Scott Guthries neuestes Blog-Post und es scheint, dass diese Funktionalität bald mit der kommenden Version von ASP.Net MVC 3 (möglicherweise auch für die Beta) herauskommt:

  

Hinweis: Visual Studio-Code / Markup   Intellisense und Colorisation innerhalb   Razor-Dateien sind noch nicht mit aktiviert   die Beta Anfang dieses Monats. Du wirst   Sehen Sie sich das in ein paar Wochen an   - und es wird vollen Code unterstützen   Intellisense für HTML, JavaScript, CSS   und C # / VB-Code in Razor-Dateien.

    
GenericTypeTea 21.08.2010, 15:39
quelle

2 Antworten

1

Sie werden Sie Intellisense in den Ansichten in Anführungszeichen "" wie Attribute verlieren.

%Vor%

oder wenn es in Javascript Blöcken erscheint.

%Vor%

Ich bin der Meinung, dass Intellisense in diesen Szenarien vorhanden sein sollte, also würde ich sagen, dass es sich um einen Fehler handelt, und hoffe, dass zukünftige Updates für Visual Studio dieses Problem beheben und beheben.

    
John Egbert 10.09.2010, 15:54
quelle
5

Es gibt auch keine Syntax-Hervorhebung, denke ich. Nicht sicher, ob das ein Fehler oder eine Funktion ist, aber AFAIK, das den Code auf diese Weise kombiniert, ist keine gute Übung. Im Allgemeinen ist Inline-JavaScript keine gute Übung, aber wenn Sie damit fortfahren, Modelleigenschaften damit kombinieren und später entscheiden, die Skripte in eine separate js-Datei zu extrahieren, wird Ihr Code beschädigt. Daher ist es üblich, versteckte Felder mit Ihren Model-Eigenschaften zu füllen und sie in Ihrer js mit jQuery zu lesen, z. B .:

%Vor%

Ein Mangel an Syntaxhervorhebung und Intellisense könnte also ein Fehler sein, aber auch eine Möglichkeit, bestimmte Codemuster zu entmutigen.

    
Yakimych 21.08.2010 17:50
quelle