Freigeben über


Was ist WebFormulare?

ASP.NET Web Forms ist Teil des ASP.NET Webanwendungsframeworks und ist in Visual Studio enthalten. Es ist eines der vier Programmiermodelle, mit denen Sie ASP.NET-Webanwendungen erstellen können; die anderen sind ASP.NET MVC, ASP.NET Web Pages und ASP.NET Single Page Applications.

Webformulare sind Seiten, die Ihre Benutzer mithilfe ihres Browsers anfordern. Diese Seiten können mithilfe einer Kombination aus HTML, Clientskript, Serversteuerelementen und Servercode geschrieben werden. Wenn Benutzer eine Seite anfordern, wird sie vom Framework auf dem Server kompiliert und ausgeführt, und dann generiert das Framework das HTML-Markup, das der Browser rendern kann. Eine ASP.NET Web Forms-Seite stellt dem Benutzer Informationen in einem beliebigen Browser oder Clientgerät dar.

Mit Visual Studio können Sie ASP.NET Webformulare erstellen. Mit der integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) von Visual Studio können Sie Serversteuerelemente ziehen und ablegen, um die Webseite für Formulare zu gestalten. Anschließend können Sie Eigenschaften, Methoden und Ereignisse für Steuerelemente auf der Seite oder für die Seite selbst ganz einfach festlegen. Diese Eigenschaften, Methoden und Ereignisse werden verwendet, um das Verhalten, das Erscheinungsbild und die Interaktivität der Webseite zu definieren. Zum Schreiben von Servercode zur Verarbeitung der Logik für die Seite können Sie eine .NET-Sprache wie Visual Basic oder C# verwenden.

Hinweis

ASP.NET- und Visual Studio-Dokumentation umfasst mehrere Versionen. Themen, die Features aus früheren Versionen hervorheben, können für Ihre aktuellen Aufgaben und Szenarien mit den neuesten Versionen hilfreich sein.

ASP.NET Webformulare sind:

  • Basierend auf der Microsoft ASP.NET Technologie, in der Code, der auf dem Server ausgeführt wird, dynamisch Webseitenausgabe an den Browser oder das Clientgerät generiert.
  • Kompatibel mit jedem Beliebigen Browser oder mobilen Gerät. Eine ASP.NET Webseite rendert automatisch den richtigen browserkonformen HTML-Code für Features wie Formatvorlagen, Layout usw.
  • Kompatibel mit jeder Sprache, die von der .NET Common Language Runtime unterstützt wird, z. B. Microsoft Visual Basic und Microsoft Visual C#.
  • Basiert auf Microsoft .NET Framework. Dies bietet alle Vorteile des Frameworks, einschließlich einer verwalteten Umgebung, Typsicherheit und Vererbung.
  • Flexibel, da Sie diesen Steuerelemente von Benutzern und Drittanbietern hinzufügen können.

ASP.NET Web Forms-Angebot:

  • Trennung von HTML und anderem UI-Code aus Anwendungslogik.
  • Eine umfangreiche Suite von Serversteuerelementen für allgemeine Aufgaben, einschließlich Des Datenzugriffs.
  • Leistungsstarke Datenbindung mit hervorragender Toolunterstützung.
  • Unterstützung für clientseitige Skripts, die im Browser ausgeführt werden.
  • Unterstützung für eine Vielzahl anderer Funktionen, einschließlich Routing, Sicherheit, Leistung, Internationalisierung, Tests, Debuggen, Fehlerbehandlung und Zustandsverwaltung.

ASP.NET Webformulare helfen Ihnen bei der Bewältigung von Herausforderungen

Die Webanwendungsprogrammierung stellt Herausforderungen dar, die in der Regel beim Programmieren herkömmlicher clientbasierter Anwendungen nicht auftreten. Zu den Herausforderungen gehören:

  • Implementieren einer umfassenden Web-Benutzeroberfläche – Es kann schwierig und mühsam sein, eine Benutzeroberfläche mit grundlegenden HTML-Funktionen zu entwerfen und zu implementieren, insbesondere wenn die Seite ein komplexes Layout, eine große Menge dynamischer Inhalte und voll funktionsfähige benutzeraktive Objekte aufweist.
  • Trennung von Client und Server – In einer Webanwendung sind der Client (Browser) und der Server unterschiedliche Programme, die häufig auf unterschiedlichen Computern (und sogar auf verschiedenen Betriebssystemen) ausgeführt werden. Folglich teilen die beiden Hälften der Anwendung sehr wenig Informationen; sie können kommunizieren, aber in der Regel nur kleine Datenblöcke mit einfachen Informationen austauschen.
  • Zustandslose Ausführung : Wenn ein Webserver eine Anforderung für eine Seite empfängt, findet er die Seite, verarbeitet sie, sendet sie an den Browser und verwirft dann alle Seiteninformationen. Wenn der Benutzer die gleiche Seite erneut anfordert, wiederholt der Server die gesamte Sequenz, wobei die Seite von Grund auf neu verarbeitet wird. Auf eine andere Weise verfügt ein Server über keinen Speicher von Seiten, die er verarbeitet hat – die Seite ist zustandslos. Wenn eine Anwendung daher Informationen über eine Seite pflegen muss, kann ihre zustandslose Natur zu einem Problem werden.
  • Unbekannte Clientfunktionen – In vielen Fällen sind Webanwendungen für viele Benutzer mit unterschiedlichen Browsern zugänglich. Browser verfügen über unterschiedliche Funktionen, wodurch es schwierig ist, eine Anwendung zu erstellen, die für alle gleichermaßen gut ausgeführt wird.
  • Komplikationen beim Datenzugriff – Das Lesen von und Schreiben in eine Datenquelle in herkömmlichen Webanwendungen kann kompliziert und ressourcenintensiv sein.
  • Komplikationen mit Skalierbarkeit - In vielen Fällen können Webanwendungen, die mit vorhandenen Methoden entwickelt wurden, aufgrund der mangelnden Kompatibilität zwischen den verschiedenen Komponenten der Anwendung keine Skalierbarkeitsziele erreichen. Dies ist häufig ein häufiger Fehlerpunkt für Anwendungen unter einem schweren Wachstumszyklus.

Die Erfüllung dieser Herausforderungen für Webanwendungen kann erhebliche Zeit und Mühe erfordern. ASP.NET WebFormulare und das ASP.NET Framework lösen diese Herausforderungen auf folgende Weise ab:

  • Intuitives, konsistentes Objektmodell – Das ASP.NET Seitenframework stellt ein Objektmodell dar, mit dem Sie sich Ihre Formulare als Einheit vorstellen können, nicht als separate Client- und Serverelemente. In diesem Modell können Sie die Seite intuitiver programmieren als in herkömmlichen Webanwendungen, einschließlich der Möglichkeit, Eigenschaften für Seitenelemente festzulegen und auf Ereignisse zu reagieren. Darüber hinaus sind ASP.NET Serversteuerelemente eine Abstraktion des physischen Inhalts einer HTML-Seite und der direkten Interaktion zwischen Browser und Server. Im Allgemeinen können Sie Serversteuerelemente verwenden, wie Sie mit Steuerelementen in einer Clientanwendung arbeiten können und nicht darüber nachdenken müssen, wie sie den HTML-Code zum Präsentieren und Verarbeiten der Steuerelemente und deren Inhalte erstellen.
  • Ereignisgesteuertes Programmiermodell – ASP.NET Webformulare bringen Webanwendungen das vertraute Modell zum Schreiben von Ereignishandlern für Ereignisse, die entweder auf dem Client oder server auftreten. Das ASP.NET Seitenframework abstrahiert dieses Modell so, dass der zugrunde liegende Mechanismus zum Erfassen eines Ereignisses auf dem Client, die Übertragung an den Server und das Aufrufen der entsprechenden Methode automatisch und unsichtbar für Sie ist. Das Ergebnis ist eine klare, leicht geschriebene Codestruktur, die ereignisgesteuerte Entwicklung unterstützt.
  • Intuitive Zustandsverwaltung – Das ASP.NET Seitenframework übernimmt automatisch die Aufgabe, den Zustand Ihrer Seite und der zugehörigen Steuerelemente beizubehalten, und bietet Ihnen explizite Möglichkeiten, den Status anwendungsspezifischer Informationen zu verwalten. Dies wird ohne eine hohe Verwendung von Serverressourcen erreicht und kann mit oder ohne Senden von Cookies an den Browser implementiert werden.
  • Browserunabhängige Anwendungen – Mit dem ASP.NET Seitenframework können Sie alle Anwendungslogik auf dem Server erstellen, sodass nicht explizit Code für Unterschiede in Browsern erforderlich ist. Sie können jedoch weiterhin browserspezifische Features nutzen, indem Sie clientseitigen Code schreiben, um eine verbesserte Leistung und eine umfangreichere Clienterfahrung zu bieten.
  • .NET Framework Common Language Runtime-Unterstützung – Das ASP.NET Seitenframework basiert auf .NET Framework, sodass das gesamte Framework für jede ASP.NET Anwendung verfügbar ist. Ihre Anwendungen können in jeder Sprache geschrieben werden, die mit der Laufzeit kompatibel ist. Darüber hinaus wird der Datenzugriff mithilfe der datenzugriffsinfrastruktur von .NET Framework vereinfacht, einschließlich ADO.NET.
  • .NET Framework skalierbare Serverleistung – Mit dem ASP.NET Seitenframework können Sie Ihre Webanwendung von einem Computer mit einem einzelnen Prozessor auf eine Mehrcomputerwebfarm sauber und ohne komplizierte Änderungen an der Logik der Anwendung skalieren.

Features von ASP.NET Webformularen

  • Serversteuerelemente– ASP.NET Webserversteuerelemente sind Objekte auf ASP.NET Webseiten, die ausgeführt werden, wenn die Seite angefordert wird und das Markup im Browser gerendert wird. Viele Webserversteuerelemente ähneln vertrauten HTML-Elementen, z. B. Schaltflächen und Textfelder. Andere Steuerelemente umfassen komplexes Verhalten, z. B. Kalendersteuerelemente und Steuerelemente, mit denen Sie eine Verbindung mit Datenquellen herstellen und Daten anzeigen können.
  • Gestaltungsvorlagen– ASP.NET Gestaltungsvorlagen ermöglichen es Ihnen, ein einheitliches Layout für die Seiten in Ihrer Anwendung zu erstellen. Eine einzige Masterdseite definiert das Aussehen und das Standardverhalten, das Sie für alle Seiten (oder eine Gruppe von Seiten) in Ihrer Anwendung wünschen. Anschließend können Sie einzelne Inhaltsseiten erstellen, die den anzuzeigenden Inhalt enthalten. Wenn Benutzer die Inhaltsseiten anfordern, werden diese mit der Masterseite zusammengeführt, um eine Ausgabe zu erzeugen, die das Layout der Masterseite mit dem Inhalt der Inhaltsseiten kombiniert.
  • Das Arbeiten mit Data- ASP.NET bietet viele Optionen zum Speichern, Abrufen und Anzeigen von Daten. In einer ASP.NET Web Forms-Anwendung verwenden Sie datengebundene Steuerelemente, um die Darstellung oder Eingabe von Daten in UI-Elementen der Webseite wie Tabellen und Textfelder und Dropdownlisten zu automatisieren.
  • Mitgliedschaft– ASP.NET Identity speichert die Anmeldeinformationen Ihrer Benutzer in einer datenbank, die von der Anwendung erstellt wurde. Wenn sich Ihre Benutzer anmelden, überprüft die Anwendung ihre Anmeldeinformationen durch Lesen der Datenbank. Der Ordner "Konto " Ihres Projekts enthält die Dateien, die die verschiedenen Teile der Mitgliedschaft implementieren: Registrieren, Anmelden, Ändern eines Kennworts und Autorisieren des Zugriffs. Darüber hinaus unterstützt ASP.NET Web Forms OAuth und OpenID. Diese Authentifizierungsverbesserungen ermöglichen es Benutzern, sich mithilfe vorhandener Anmeldeinformationen von Konten wie Facebook, Twitter, Windows Live und Google bei Ihrer Website anzumelden. Standardmäßig erstellt die Vorlage eine Mitgliedschaftsdatenbank mit einem Standarddatenbanknamen in einer Instanz von SQL Server Express LocalDB, dem Entwicklungsdatenbankserver, der im Lieferumfang von Visual Studio Express 2013 für Web enthalten ist.
  • Clientskripts und Clientframeworks– Sie können die serverbasierten Features von ASP.NET verbessern, indem Sie Clientskriptfunktionen in ASP.NET Webformularseiten einschließen. Sie können ein Clientskript verwenden, um benutzern eine umfangreichere, reaktionsfähigere Benutzeroberfläche bereitzustellen. Sie können auch clientskripts verwenden, um asynchrone Aufrufe an den Webserver auszuführen, während eine Seite im Browser ausgeführt wird.
  • Routing- URL-Routing ermöglicht es Ihnen, eine Anwendung so zu konfigurieren, dass Anforderungs-URLs akzeptiert werden, die nicht physischen Dateien zugeordnet sind. Eine Anforderungs-URL ist einfach die URL, die ein Benutzer in seinen Browser eingibt, um eine Seite auf Ihrer Website zu finden. Sie verwenden Routing, um URLs zu definieren, die semantisch für Benutzer aussagekräftig sind und die bei der Suchmaschinenoptimierung (SEO) helfen können.
  • Zustandsverwaltung– ASP.NET Webformulare umfassen mehrere Optionen, mit denen Sie Daten auf Seitenbasis und anwendungsweit aufbewahren können.
  • Sicherheit– Ein wichtiger Bestandteil der Entwicklung einer sichereren Anwendung ist es, die Bedrohungen zu verstehen. Microsoft hat eine Möglichkeit entwickelt, Bedrohungen zu kategorisieren: Spoofing, Manipulation, Ablehnung, Offenlegung von Informationen, Dienstverweigerung, Rechteerweiterung (STRIDE). In ASP.NET Webformularen können Sie Erweiterungspunkte und Konfigurationsoptionen hinzufügen, mit denen Sie verschiedene Sicherheitsverhalten in ASP.NET Webformularen anpassen können.
  • Leistung: Die Leistung kann ein wichtiger Faktor für eine erfolgreiche Website oder ein erfolgreiches Projekt sein. mit ASP.NET Web Forms können Sie die Leistung im Zusammenhang mit seiten- und Serversteuerungsverarbeitung, Zustandsverwaltung, Datenzugriff, Anwendungskonfiguration und Laden sowie effiziente Codierungsmethoden ändern.
  • Mithilfe von Internationalisierungs- ASP.NET-Webformularen können Sie Webseiten erstellen, die Inhalte und andere Daten basierend auf der bevorzugten Spracheinstellung für den Browser oder basierend auf der expliziten Sprachauswahl des Benutzers abrufen können. Inhalte und andere Daten werden als Ressourcen bezeichnet, und solche Daten können in Ressourcendateien oder anderen Quellen gespeichert werden. Auf einer ASP.NET Web Forms-Seite konfigurieren Sie Steuerelemente, um deren Eigenschaftswerte aus Ressourcen abzurufen. Zur Laufzeit werden die Ressourcenausdrücke durch Ressourcen aus der entsprechenden lokalisierten Ressourcendatei ersetzt.
  • Debugging und Fehlerbehandlung– ASP.NET enthält Features, mit denen Sie Probleme diagnostizieren können, die in Ihrer Webanwendung auftreten können. Debugging und Fehlerbehandlung werden in ASP.NET Webformularen gut unterstützt, sodass Ihre Anwendungen effektiv kompilieren und ausführen können.
  • Bereitstellung und Hosting– Visual Studio, ASP.NET, Azure und IIS bieten Tools, die Ihnen beim Bereitstellen und Hosten Ihrer Webanwendung helfen.

Entscheiden, wann eine Webanwendung erstellt werden soll

Sie müssen sorgfältig prüfen, ob Sie eine Webanwendung entweder mithilfe des ASP.NET Web Forms-Modells oder eines anderen Modells implementieren, z. B. das ASP.NET MVC-Framework. Das MVC-Framework ersetzt nicht das Web Forms-Modell; Sie können beide Frameworks für Webanwendungen verwenden. Bevor Sie sich für die Verwendung des Web Forms-Modells oder des MVC-Frameworks für eine bestimmte Website entscheiden, können Sie die Vorteile jedes Ansatzes abwägen.

Vorteile einer Web-Forms-Based-Webanwendung

Das Web Forms-basierte Framework bietet die folgenden Vorteile:

  • Es unterstützt ein Ereignismodell, das den Status über HTTP bewahrt, was der Entwicklung von Webanwendungen im Branchengeschäft zugute kommt. Die Web Forms-basierte Anwendung stellt Dutzende von Ereignissen bereit, die in Hunderten von Serversteuerelementen unterstützt werden.
  • Es verwendet ein Page Controller-Muster, das einzelnen Seiten Funktionen hinzufügt. Weitere Informationen finden Sie unter Page Controller.
  • Es verwendet Viewstate- oder serverbasierte Formulare, wodurch die Verwaltung von Statusinformationen vereinfacht werden kann.
  • Es eignet sich gut für kleine Teams von Webentwicklern und Designern, die die große Anzahl von Komponenten nutzen möchten, die für die schnelle Anwendungsentwicklung verfügbar sind.
  • Im Allgemeinen ist es für die Anwendungsentwicklung weniger komplex, da die Komponenten (die Page-Klasse , Steuerelemente usw.) eng integriert sind und in der Regel weniger Code als das MVC-Modell erfordern.

Vorteile einer MVC-Based Webanwendung

Das ASP.NET MVC-Framework bietet die folgenden Vorteile:

  • Es erleichtert die Verwaltung der Komplexität, indem eine Anwendung in das Modell, die Ansicht und den Controller unterteilt wird.
  • Es werden weder Viewstate noch serverbasierte Formulare verwendet. Dies macht das MVC-Framework ideal für Entwickler, die volle Kontrolle über das Verhalten einer Anwendung wünschen.
  • Es verwendet ein Front Controller-Muster, das Webanwendungsanforderungen über einen einzelnen Controller verarbeitet. Auf diese Weise können Sie eine Anwendung entwerfen, die eine umfangreiche Routinginfrastruktur unterstützt. Weitere Informationen finden Sie unter FrontController.
  • Es bietet eine bessere Unterstützung für die testgesteuerte Entwicklung (TDD).
  • Es eignet sich gut für Webanwendungen, die von großen Entwicklern und Webdesignern unterstützt werden, die ein hohes Maß an Kontrolle über das Anwendungsverhalten benötigen.