Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Softwareentwicklung mit.NET Teil 3 ASP.NET Web Forms Dr. Ralph Zeller.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Softwareentwicklung mit.NET Teil 3 ASP.NET Web Forms Dr. Ralph Zeller."—  Präsentation transkript:

1 1 Softwareentwicklung mit.NET Teil 3 ASP.NET Web Forms Dr. Ralph Zeller

2 2 Web Applikationen ASP.NET definiert eine Web Applikation als die Summe aller Dateien, Seiten, Handler, Module und Executables, die in einem bestimmten virtuellen Verzeichnis auf einem Web Server aufgerufen und ausgeführt werden. Verteilte Applikationen Internet Web Service Web Form PräsentationMiddle TierDatenbank

3 3 Alles begann mit HTML Beispiel 1: HTML Web Form

4 4 HTML Know how Englisch: Peachpit Press, 2000 Deutsch: Markt und Technik, 2001 Online: Buch: Elizabeth Castro

5 5 Alt: Active Server Pages Was sind ASP? Server Side Scripting Datei enthält HTML und Script Code Ausführung durch HTTP Aufruf Script Code wird am Server interpretiert Simple ASP Page Today's date is The current time is Simple ASP Page Today's date is The current time is

6 6 Alt: Active Server Pages Was kann ich mit ASP machen? Einfach und schnell Web Applikationen erstellen Web Inhalte dynamisch erzeugen Client Side Scripting zur Validierung Funktionalität durch COM Komponenten erweitern (z.B. Datenbankzugriff)

7 7 Formulare in ASP Beispiel 2: ASP Darlehensrechner

8 8 ASP Hypothekar Rechner method = "post" Formulardaten werden im HTTP Header übertragen action = "Hcalc.asp" Weist auf die ASP Seite, die durch drücken von Berechnen aufgerufen wird Postback Scriptobjekte werden automatisch mit den Werten in den Eingabefeldern initialisiert. Eingabe verschwindet Zustand der Eingabefelder wird nicht am Server gespeichert

9 9 Formulare in ASP Beispiel 3: ASP Darlehensrechner v2

10 10 Neu: ASP.NET Pattform für Web Applikationen Neues Ausführungsmodell Web Client Betriebssystem ASP.NET Applikationen IIS.NET Framework

11 11 ASP.NET Konzept Trennung von UI und Programmcode Basiert auf.NET Framework Code wird beim ersten Aufruf einer Seite compiliert Zustandsmanagement Mehrer Programmiersprachen können verwendet werden Dateiupdate bei laufenden Serverbetrieb

12 12 WebControls Beispiel 4: ASP.NET Darlehensrechner

13 13 ASP.NET Darleh.rechner Web Controls ersetzen Tags Web Controls laufen am Server (RunAt = "server") Server Side Scripts können Web Controls durch ihre ID direkt referenzieren (ID = "Kapital") C# Script Verbindung zum Script über OnClick Attribut Input Daten werden direkt aus Web Control gelesen Output wird an ein Label Control übergeben Tag hat kein Methoden oder Action Attribut Kein extra Code für Postback

14 14 ASP.NET Anwendungen Eine Anwendung besteht aus ASP.NET Pages.aspx Files mit WebForms.cs,.vb, … Files mit Code Komponenten (Assemblies) Konfigurationsdateien web.config global.asax Sämtliche Elemente einer Anwendung müssen sich in einem Verzeichnis befinden

15 15 am1.aspx web.config C:\Inetpub\wwwroot global.asaxweb.config rc2.aspxrc1.aspx \MyApp1 \MyApp2 assembly1.dllassembly2.dll \bin Aufbau einer Anwendung

16 16 Konfiguration App Settings Datei web.config im root-Verzeichnis globale Standardeinstellungen, die für alle ASP.NET Anwendungen gelten, befinden sich in folgender Datei \Windows\Microsoft.NET\Framework\ \ config\machine.config App Events Datei global.asax im root-Verzeichnis

17 17 Events Events strukturieren Programmablauf Vereinfacht die Organisation des Codes Vermeidet Spagetticode Code kann auf Page Events reagieren Page_Load Page_Unload Code kann auf Control Events reagieren Button1_Click Textbox1_Changed

18 18 Event Modell Client feuert Event – Server verarbeitet Event Verbindung zwischen Event und Handler durch "On" vor Eventnamen und Verwendung als Attribut Server Web Client Parse Message Event Event Handler Event Message Antwort Aufruf Event Handler // ListBox ruft bei jeder Änderung SelectedIndexChanged auf // ListBox ruft bei jeder Änderung SelectedIndexChanged auf

19 19 Lebenszyklus einer Seite Page_Load Page_Unload Textbox1_Changed Button1_Click Control Events 1. Change Events 2. Action Events

20 20 Page_Load Event void Page_Load (Object sender, EventArgs e) { // ISPostBack ist ein Property der Page Klasse if (IsPostBack == false) // Hier wird z.B. eine Datenbank abgefragt, // mit dessen Werten einige Controls der Seite // initialisiert werden. } void Page_Load (Object sender, EventArgs e) { // ISPostBack ist ein Property der Page Klasse if (IsPostBack == false) // Hier wird z.B. eine Datenbank abgefragt, // mit dessen Werten einige Controls der Seite // initialisiert werden. } Wird bei jeder neuen Instanz der Seite ausgelöst Alle Input Werte sind bereits vorhanden Noch keine Ausgabe an den Client erfolgt

21 21 Code innerhalb der Tags wird in.cs Datei ausgelaget.aspx File enthält keinen Code Page Direktive verbindet.aspx und.cs Datei Diese Technik nennt man Code-behind Code und Daten trennen Code-behind

22 22 Code-behind Beispiel 5: ASP.NET Darleh.rechner 2

23 23 Server Controls ASP.NET enthält 45 Server Controls diese sind nach logischen Kriterien gruppiert HTML Controls Controls / Properties entsprechen 1:1 HTML Elementen Web Controls Grundlegende Controls List Controls Rich Controls Validation Controls

24 24 HTML Controls abgeleitet von System.Web.UI.HtmlControls Unterschied zu normalen HTML Tags HTML Controls,,,,,,,, // normales HTML input Feld // HTML Control // normales HTML input Feld // HTML Control

25 25 Web Controls Abstrakte Controls Kein 1:1 Mapping zu HTML Server Controls abgeleitet von System.Web.UI.WebControls umfangreiche Funktionalität z.B. Calendar Control Automatische Anpassung an den Browser z.B. enthält das RequiredFieldValidator Control Client-seitiges Scripting, wenn der Browser das unterstützt einheitliches Objektmodell eventgesteuertes Programmiermodell

26 26 Rich Controls Beispiel 6: Kalender Demo

27 27 Validation Controls Beispiel 7: ASP.NET Darleh.rechner 3

28 28 Custom Controls Selbstentwickelte, compilerte Web Controls 1.Mit Internet Service Manager ein Virtuelles Verzeichnis \Inetpub\wwwroot\ erstellen 2.Code übersetzen csc.exe /target:library MyClass.cs 3.Filecopy in das bin-Verzeichnis der Anwendung copy MyClass.dll \Inetpub\wwwroot\ \bin 4..aspx File anlegen und Control benutzen

29 29 Custom Controls Beispiel 8: Hello World

30 30 User Controls Mit User Controls können Teile einer WebForm zu einem eigenständigen Control zusammengefasst werden Dadurch können wiederverwendbare UI Komponenten erstellt werden User Controls verhalten sich wie Objekte Properties, Felder, Events, Methoden Dateiendung ist.ascx

31 31 User Controls Beispiel 9: Login

32 32 Fragen? Uff...

33 33 Glossar API – Application Programming Interface: Definierte Programmierschnittstelle für den Zugriff auf Systemfunktionen IIS – Internet Information Server: Der Webserver von Microsoft ISAPI- Internet Server API: Mit dieser Schnittstelle können Erweiterungen für den IIS entwickelt werden. Solche Erweiterungen können nur mit C++ programmiert werden. Cookie: Kennung, die auf der Festplatte eines Benutzers abgelegt wird. Mit dieser Kennung kann eine Webseite herausfinden, ob dieser Benutzer die Seite zuvor schon besucht hat. Die Kennung wird auch Session ID genannt XML - eXtensible Markup Language: Textbasiertes, allgemeines Datenformat, das Grundregeln für den Aufbau eigener Datenformate definiert. XSL - XML Stylesheet Language: XML-basierte Sprache, mit der Transformationen von XML-Daten definiert werden können. CLR – Common Language Runtime: gemeinsame Laufzeitumgebung für alle.NET Anwendungen. MSIL – Microsoft Intermediate Language Managed Code: In der.NET Plattform wird kein nativer Code mehr erzeugt. Stattdessen generieren Compiler unter.NET eine Zwischensprache (MSIL), die dann unter Aufsicht der CLR bei Bedarf in nativen Code übersetzt und ausgeführt wird. Deshalb wird der von den Compilern erzeugte Code auch Managed Code genannt.


Herunterladen ppt "1 Softwareentwicklung mit.NET Teil 3 ASP.NET Web Forms Dr. Ralph Zeller."

Ähnliche Präsentationen


Google-Anzeigen