ASP.NET MVC Fehler: "Name '__o' ist nicht deklariert."

8

Ich habe eine ganze Reihe dieser Fehler in meiner View aspx-Datei.

Aber es baut und läuft gut.

Was sind sie? Wie werde ich sie loswerden?

    
Zack Peterson 13.03.2009, 16:16
quelle

1 Antwort

8

Mikhail Arkhipov hat eine Erklärung und Problemumgehung in den ASP.NET-Foren veröffentlicht:

  

Wir haben endlich zuverlässig gewonnen   Repro und identifiziert den zugrunde liegenden   Problem. Eine triviale Repro sieht aus wie   das:

%Vor%      

Um intellisense in & lt;% =% & gt; Blöcke bei   Entwurfszeit, generiert ASP.NET   Zuordnung zu einer temporären Variable __o   und Sprache (VB oder C #) dann bereitstellen   die Intelligenz für die Variable.   Das geschieht, wenn der Seitencompiler sieht   das erste & lt;% = ...% & gt; Block. Aber hier,   Der Block ist innerhalb des if, also nach   Wenn i schließt, erlischt die Variable   von Umfang. Wir enden am Generieren   etwas wie das:

%Vor%      

Die Problemumgehung besteht darin, einen Dummy hinzuzufügen   Ausdruck früh auf der Seite. Z.B.   & lt;%=""% & gt ;. Dies wird nicht wiedergegeben   alles, und es wird dafür sorgen, dass   __o wird in der Render-Methode als oberste Ebene deklariert, bevor es möglich ist   'If' (oder eine andere Festlegung).

    
Zack Peterson 13.03.2009, 16:18
quelle

Tags und Links