1 / 32

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

Softwareentwicklung mit .NET Teil 3 ASP.NET Web Forms Dr. Ralph Zeller. Internet. Web Form. Web Applikationen .

ghalib
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Internet Web Form 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 Präsentation Middle Tier Datenbank Web Service

  3. Alles begann mit HTMLBeispiel 1:HTML Web Form

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

  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 <%@ Language="VBScript" %> <html> <head> <title>Simple ASP Page</title> </head> <body> <h1>Today's date is <%= Date %></h1><p> <h1>The current time is <%= Time %></h1> </body> </html>

  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. Formulare in ASPBeispiel 2:ASP Hypothekar Rechner

  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. Formulare in ASPBeispiel 3:ASP Hypothekar Rechner 2

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

  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. WebControlsBeispiel 4:ASP.NET Hyp. Rechner

  13. ASP.NET Hyp. Rechner • Web Controls ersetzen <input> 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 • <form> Tag hat kein Methoden oder Action Attribut • Kein extra Code für Postback

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

  15. Aufbau einer Anwendung C:\Inetpub\wwwroot \MyApp2 \MyApp1 rc1.aspx rc2.aspx \bin am1.aspx config.web global.asax config.web assembly1.dll assembly2.dll

  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\<version>\config\Machine.config • App Events • Datei global.asax im root-Verzeichnis

  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. Event Modell • Client feuert Event – Server verarbeitet Event • Verbindung zwischen Event und Handler durch "On" vor Eventnamen und Verwendung als Attribut Event Message Server Web Client Parse Message Event Aufruf Event Handler Event Handler Antwort // ListBox ruft bei jeder Änderung SelectedIndexChanged auf <asp:ListBox ID="MyListBox" RunAt="server" OnSelectedIndexChanged="OnNewSelection"/>

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

  20. Page_Load Event • Wird bei jeder neuen Instanz der Seite ausgelöst • Alle Input Werte sind bereits vorhanden • Noch keine Ausgabe an den Client erfolgt <script language="C#" runat="Server"> 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. } </script>

  21. Code und Daten trennenCode-behind • Code innerhalb der <script> 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 <%@ Page Inherits="SeiteBerechnen" Src="HCalc2.cs" %>

  22. Code-behindBeispiel 5:ASP.NET Hyp. Rechner 2

  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. HTML Controls • abgeleitet von System.Web.UI.HtmlControls • Unterschied zu normalen HTML Tags • HTML Controls • <a>, <img>, <form> • <table>, <tr>, <td>, <th> • <select>, <textarea>, < input type=button>, • <input type=text>, <input type=file>, • <input type=check>, <input type=button>, • <input type=radio>, <input type=hidden> <input type="text"> // normales HTML input Feld <input type="text" runat="server" /> // HTML Control

  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. Rich ControlsBeispiel 6: Kalender Demo

  27. Validation ControlsBeispiel 7: ASP.NET Hyp. Rechner 3

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

  29. Custom ControlsBeispiel 8: Hello World

  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. User ControlsBeispiel 8: Login

  32. Uff... Fragen?

More Related