+ All Categories
Home > Documents > 1 Softwareentwicklung mit.NET Teil 3 ASP.NET Web Forms Dr. Ralph Zeller.

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

Date post: 05-Apr-2015
Category:
Upload: jochen-gebler
View: 107 times
Download: 4 times
Share this document with a friend
32
1 oftwareentwicklung mit .NE eil 3 SP.NET eb Forms r. Ralph Zeller
Transcript
Page 1: 1 Softwareentwicklung mit.NET Teil 3 ASP.NET Web Forms Dr. Ralph Zeller.

1

Softwareentwicklung mit .NETTeil 3

ASP.NETWeb Forms

Dr. Ralph Zeller

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

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

InternetWeb Service

Web Form

Präsentation Middle Tier Datenbank

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

3

Alles begann mit HTMLBeispiel 1: HTML Web Form

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

4

HTML Know how

Englisch: Peachpit Press, 2000 Deutsch: Markt und Technik, 2001

Online:

• http://www.selfhtml.org/

Buch:

• Elizabeth Castro

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

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>

<%@ 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>

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

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)

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

7

Formulare in ASPBeispiel 2: ASP Darlehensrechner

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

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

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

9

Formulare in ASPBeispiel 3: ASP Darlehensrechner v2

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

10

Neu: ASP.NET

Pattform für Web Applikationen

Neues Ausführungsmodell

Web Client

Betriebssystem

ASP.NETApplikationen

IIS

.NETFramework

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

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

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

12

WebControlsBeispiel 4: ASP.NET Darlehensrechner

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

13

ASP.NET Darleh.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

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

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

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

15

am1.aspx

web.config

C:\Inetpub\wwwroot

global.asax web.config

rc2.aspxrc1.aspx

\MyApp1 \MyApp2

assembly1.dll assembly2.dll

\bin

Aufbau einer Anwendung

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

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

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

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

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

18

Event Modell Client feuert Event – Server verarbeitet Event

Verbindung zwischen Event und Handler durch "On" vor Eventnamen und Verwendung als Attribut

ServerWeb Client

Parse MessageEvent

Event Handler

EventMessage

Antwort

Aufruf Event Handler

// ListBox ruft bei jeder Änderung SelectedIndexChanged auf<asp:ListBox ID="MyListBox" RunAt="server" OnSelectedIndexChanged="OnNewSelection" />

// ListBox ruft bei jeder Änderung SelectedIndexChanged auf<asp:ListBox ID="MyListBox" RunAt="server" OnSelectedIndexChanged="OnNewSelection" />

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

19

Lebenszyklus einer Seite

Page_LoadPage_Load

Page_UnloadPage_Unload

Textbox1_ChangedTextbox1_Changed

Button1_ClickButton1_Click

Control EventsControl Events

1. Change Events1. Change Events

2. Action Events2. Action Events

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

20

Page_Load Event

<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>

<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>

Wird bei jeder neuen Instanz der Seite ausgelöst• Alle Input Werte sind bereits vorhanden

• Noch keine Ausgabe an den Client erfolgt

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

21

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

Code und Daten trennenCode-behind

<%@ Page Inherits="SeiteBerechnen" Src="HCalc2.cs" %><%@ Page Inherits="SeiteBerechnen" Src="HCalc2.cs" %>

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

22

Code-behindBeispiel 5: ASP.NET Darleh.rechner 2

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

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

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

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

<input type="text"> // normales HTML input Feld

<input type="text" runat="server" /> // HTML Control

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

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

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

26

Rich ControlsBeispiel 6: Kalender Demo

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

27

Validation ControlsBeispiel 7: ASP.NET Darleh.rechner 3

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

28

Custom Controls

Selbstentwickelte, compilerte Web Controls

1. Mit Internet Service Manager ein Virtuelles Verzeichnis \Inetpub\wwwroot\<appname> erstellen

2. Code übersetzen

• csc.exe /target:library MyClass.cs

3. Filecopy in das bin-Verzeichnis der Anwendung

• copy MyClass.dll \Inetpub\wwwroot\<appname>\bin

4. .aspx File anlegen und Control benutzen

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

29

Custom ControlsBeispiel 8: Hello World

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

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

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

31

User ControlsBeispiel 9: Login

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

32

Fragen?

Uff...


Recommended