asp.net - CodeFile vs CodeBehind




(2)

Codebehind-Datei muss vor dem Ausführen kompiliert werden, aber in src müssen wir nicht kompilieren und dann ausführen .. einfach die Datei speichern.

Was ist der Unterschied zwischen CodeFile = "file.ascx.cs" und CodeBehind = "file.ascx.cs" in der Deklaration eines ASP.NET-Benutzersteuerelements?

Ist einer neuer oder empfohlen? Oder haben sie spezifische Verwendung?


Ich arbeite mit einem Anwendungsprojekt in Visual Studio Express 2012 für Web und mit .NET 4.0. Im Code hinter den Dateien für meine Login- und Passwort-Seiten habe ich eine Situation gefunden, in der ich sowohl CodeBehind als auch CodeFile in der Deklaration brauchte.

Wenn ich keine Code-Datei-Referenz wie hinzufügen

CodeFile=login.aspx.cs

Die Webseite wird nicht analysiert und der Browser zeigt einen Parserfehler an. Es spielt keine Rolle, ob ich das Projekt kompiliere oder nicht.

Wenn ich keinen Code hinter Referenz wie hinzufügen

CodeBehind=login.aspx.cs

Verweise auf Sicherheitsklassen wie MembershipUser schlagen sowohl beim Kompilieren als auch beim Versuch fehl, intellisense mit einem Fehler wie "Der Typ oder Namespace MembershipUser kann nicht gefunden werden" zu verwenden. Ich habe einen Verweis auf System.Web.ApplicationServices hinzugefügt, wie von dem .NET 4.0 Framework gefordert.

Ich sollte hinzufügen, dass diese problematischen Dateien in einer Anwendung innerhalb der Website ausgeführt werden, die mit dem IIS-Anwendungstool erstellt wurde. Wenn ich die Website von Visual Studio aus öffne, habe ich keine Probleme mit Parserfehlern oder Referenzfehlern. Diese Verwirrung tritt nur auf, wenn ich die Anwendung als ein Projekt in Visual Studio öffne.





asp.net