180 likes | 426 Views
Entwicklung verteilter Anwendungen I WS 2013/14 Prof. Dr. Herrad Schmidt. Kapitel 6 ASP.NET 4 Einführung ASP.NET Web Forms. ASP.NET Einführung (1) Microsoft-Technologien zur Entwicklung von Web-Anwendungen und XML-Webdiensten. http://www.asp.net/get-started
E N D
Entwicklung verteilter Anwendungen IWS 2013/14Prof. Dr. Herrad Schmidt Kapitel 6 ASP.NET 4 Einführung ASP.NET Web Forms
ASP.NET Einführung (1) Microsoft-Technologien zur Entwicklung von Web-Anwendungen und XML-Webdiensten. http://www.asp.net/get-started http://msdn.microsoft.com/en-us/library/bb400852.aspx http://www.asp.net/web-forms Quelle:http://www.dotnetspider.com/attachments/Resources/22812-22558-ASPNET_IIS.JPG
ASP.NET Einführung (2) • ASP.NET dient der Programmierung von Web-Anwendungen in einer mit der Common Language Runtime (CLR) kompatiblen Sprache. Es entsteht kompilierter Common Intermediate Language-Code, der auf dem Server ausgeführt wird. • ASP.NET ist primär eine serverseitige Web-Technologie, d.h. die Web-Anwendung wird auf dem Server ausgeführt. • Neben dem MS Internet Information Services (IIS) können auch andere Webserver eingesetzt werden. • Es gibt zwei Programmiermodelle: ASP.NET Web Forms ASP.NET MVC (Model-View-Controller) • ASP.NET AJAX dient dazu, Daten zwischen Client (Browser) und Server mittels JavaScript asynchron auszutauschen.
ASP.NET Web Forms (1) • Basis: Web Page mit Code-Behind(Trennung von Code und Markup) • In den HTML-Code der Web Page werden Server-Steuerelemente (Web Server Controls) eingefügt, d.h. Tags mit dem Attribut (runat="server"). • Der zugehörige Code Behind wird in .aspx.cs (C#) abgelegt. • Für die serverseitige Programmierung werden aus den Web Server Controls eine Hierarchie von Objekten aufgebaut. • Beim Aufruf der Seite lädt der Web-Server die zugehörige Assembly und instanziiert eine Klasse, die die Seite repräsentiert und es wird ein hierarchisches Objektmodell für die serverseitig relevanten Tags, also die mit dem Attribut runat="server"aufgebaut. • Für das Seitenobjekt bzw. die Steuerelemente werden die Ereignisprozeduren aufgerufen und ausgeführt.
ASP.NET Web Forms (2) • Wird die Seite an den Browser des Clients gesandt, werden vorher für die Serversteuerelemente ein oder mehrere browserspezifische Tags erzeugt (adaptive rendering), z.B. wird aus <asp:Textbox> bei der Umwandlung das HTML-Tag <input type=text>. • Da nur Standardausgabeformate und –sprachen verwandt werden, ist die Ausgabe beim Client weitgehend browserunabhängig. • Es steht eine integrierte Zustandsverwaltung zur Verfügung. Quelle: http://msdn.microsoft.com/en-us/library/ms973868.aspx
Postbacks und Roundtrips aus: http://msdn.microsoft.com/en-us/library/ms178125.aspx Der Verarbeitungszyklus für eine ASP.NET-Webseite sieht wie folgt aus: Der Benutzer fordert die Seite an (HTTP-GET-Methode). Die Seite rendert Markup dynamisch im Browser. Für den Benutzer erscheint die Webseite wie eine gewöhnliche Seite. Der Benutzer gibt Informationen ein oder nimmt eine Auswahl vor und klickt dann auf eine Schaltfläche. Die Seite wird an den Webserver gesendet. (HTTP-POST-Methode = Postback in ASP.NET). Auf dem Webserver wird die Seite erneut ausgeführt. Die Informationen, die der Benutzer eingab oder auswählte, stehen der Seite nun zur Verfügung. Die Seite führt die Verarbeitung aus, für die sie programmiert wurde. Die Seite stellt sich wieder im Browser dar. Dieser Zyklus wird als Roundtrip bezeichnet. Nur bei der Ausführung von Client-Skript ist kein Roundtrip zum Server erforderlich.
Quelle: http://msdn.microsoft.com/en-us/library/wf922ts9(VS.71).aspx
ASP.NET Web Forms (3) Typen von Controls: • HTML Server Controlsserverseitige Repräsentation von HTML Formularelementen<input type="text" id="txtName" size=25 runat="server"> • Web Server Controlskomplexere Steuerelemente, die beim Erstellen der Seite durch Rendern in eines oder mehrere HTML-Steuerelemente konvertiert werden<asp:textbox id="Textbox2" runat=”server" Text="" /> • Validation Controlserlauben die Überprüfung von Benutzereingaben in Eingabesteuer-elementen • User Controlswerden als ASP.NET Web-Seiten erstellt und können in andere ASP.NET Web-Seiten eingebettet werden.
ASP.NET-Web-Anwendung (WebForms) • WebForm1.aspx • WebForm1.aspx.cs
Validierung der Benutzereingaben http://msdn.microsoft.com/en-us/library/debza5t0.aspx • Validierungselemente dienen dazu, Eingaben des Benutzers zu überprüfen. Sie sind in der gerenderten Seite nicht sichtbar. • Sie beziehen sich auf Serversteuerelemente mit Eingabemöglichkeit. • Die Validierungselemente werden aufgerufen, wenn die Seite an den Server gesendet wird. • Sie führen einen Validierungstest durch. Im Fehlerfall wird eine Meldung ausgegeben. • Validierungselemente können zu Validierungsgruppen zusammengefasst werden. • Es erfolgt zunächst eine clientseitige Validierung, es sei denn diese wurde durch EnableClientScript=false unterbunden. (http://msdn.microsoft.com/en-us/library/yb52a4x0.aspx).
Zwei Projektarten in Visual Studio 2012 (1) http://msdn.microsoft.com/en-us/library/ee377605(v=vs.110).aspx • Web Site Project (mit Visual Web Developer)Der sourcecode wird dynamisch kompiliert.Es können 3 Konfigurationen von Websites erstellt werden:http://msdn.microsoft.com/en-us/library/9d9ats98.aspx DateisystemWalkthrough: http://msdn.microsoft.com/library/k4cbh4dh.aspx HTTP (IIS lokal)Walkthrough: http://msdn.microsoft.com/en-US/library/a1zz9df4.aspx Voraussetzung: Die Internet-Informationsdienste (IIS) müssen lokal installiert und gestartet sein, ASP.NET muss im IIS installiert sein. FTP Web Site zum Schreiben auf und Lesen von einem remote Server unter Nutzung von FTPVorgehen: Datei Neu Website ASP.Net-Website oder Leere ASP.NET-WebSite
Zwei Projektarten (Templates) in Visual Studio 2012 (2) http://msdn.microsoft.com/en-us/library/ee377605(v=vs.110).aspx • Web ApplicationProjectErstellung einer Projekt-Datei, explizite Kompilierung, Erstellung einer assemblyDatei Neu Projekt Visual C# Internet Leere Asp.NET-Webanwendung oder ASP.NET MVC 4-Webanwendung • Zu den Kriterien für die Auswahl der Projektarten siehe • http://msdn.microsoft.com/library/dd547590.aspx
Links zur Einführung und Erstellung: • Einführung in die Programmierung von ASP.NET-Web Pages:http://msdn.microsoft.com/en-us/library/ms178125.aspx • Erstellen einer Website und einer Page:http://msdn.microsoft.com/en-us/library/k4cbh4dh.aspx • Erstellen eines Web-Anwendungsprojekts:http://msdn.microsoft.com/en-us/library/aa983452.aspx • Veröffentlichen einer Website:http://msdn.microsoft.com/en-us/library/1y1404zt.aspx • Veröffentlichen eines Web-Anwendungsprojekts:http://msdn.microsoft.com/en-us/library/dd394698.aspx
Solution 5_ASP.NET_Vorlagen: • LeereWebSiteHinzufügen Neue Website Leere ASP.NET-WebsiteDateisystemPfad und Ordner (default WebSite1) bestimmen • WebSite1Hinzufügen Neue Website ASP.Net-Website • WebApplication1Hinzufügen Neues Projekt ASP.NET-Webanwendung • WebApplication2Hinzufügen Neues Projekt Leere ASP.NET-Webanwendung
Solution 6_ASP.NET_WebForms: • A_Basis • B_Formularauswertung • C_EinfacheSteuerelemente • D_Containersteuerelemente • E_Validatoren
Aufgabe 3) Entwickeln Sie eine ASP.NET-Anwendung zur Bearbeitung der Datenbank Literatur: Es erscheint eine Auflistung aller Autoren. Ein neuer Autor kann eingegeben werden (mit Epoche). Für einen ausgewählten Autor können alle Werke aufgelistet werden, wobei die URL als Hyperlink funktionieren soll. Es können weitere Werke eingetragen werden (mit Genre).