
ASP.Net Shortcut
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-Programmierung bekannte Konzepte wurden dabei elegant auf das Internet übertragen. Wie leistungsfähig Web-Anwendungen sein können, zeigt dieser Shortcut, der selbst eingefleischten Profis noch Tipps zu ASP.NET liefert.
Der Autor
Patrick A. Lorenz, als Medienproduzent in Freiburg tätig, beschäftigt sich seit rund vier Jahren als Entwickler im Webumfeld intensiv mit der ASP-Technologie. Daneben ist er Autor diverser Publikationen rund um .NET und Referent auf Fachkonferenzen.
More details
Other editions
Additional editions

Content
2 - Vorwort [Seite 12]
3 - 1 Einführung [Seite 14]
3.1 - 1 Einführung [Seite 16]
3.1.1 - 1.1 Wer Sie sind [Seite 16]
3.1.2 - 1.2 Was Sie erwarten dürfen [Seite 16]
3.1.3 - 1.3 Was Sie brauchen [Seite 17]
3.1.4 - 1.4 Wie Sie Tipparbeit sparen [Seite 17]
3.1.5 - 1.5 Worauf Sie achten sollten [Seite 17]
3.1.6 - 1.6 Wie Sie Kontakt aufnehmen können [Seite 18]
4 - 2 Basics [Seite 20]
4.1 - 2 Basics [Seite 22]
4.1.1 - 2.1 Was ist ASP.NET? [Seite 22]
4.1.2 - 2.2 Struktur einer Web-Applikation [Seite 22]
4.1.2.1 - 2.2.1 Anlage einer neuen Web-Applikation [Seite 23]
4.1.3 - 2.3 Aufbau einer ASP.NET-Seite [Seite 23]
4.1.3.1 - 2.3.1 Eine einfache Seite [Seite 24]
4.1.3.2 - 2.3.2 Eine dynamische Seite [Seite 25]
4.1.4 - 2.4 Das ASP.NET-Objektmodell [Seite 26]
4.1.4.1 - 2.4.1 Die Klasse Page [Seite 27]
4.1.4.2 - 2.4.2 Die Klasse HttpRequest [Seite 27]
4.1.4.3 - 2.4.3 Die Klasse HttpResponse [Seite 29]
4.1.4.4 - 2.4.4 HttpServerUtility [Seite 30]
4.1.5 - 2.5 Direktiven [Seite 31]
4.1.5.1 - 2.5.1 Die @Page-Direktive [Seite 31]
4.1.5.2 - 2.5.2 Die @Import-Direktive [Seite 32]
5 - 3 Web-Formulare [Seite 34]
5.1 - 3 Web-Formulare [Seite 36]
5.1.1 - 3.1 Basics [Seite 36]
5.1.1.1 - 3.1.1 HTML Server Controls versus Web Controls [Seite 36]
5.1.1.2 - 3.1.2 Postback [Seite 37]
5.1.1.3 - 3.1.3 Persistenz [Seite 37]
5.1.1.4 - 3.1.4 Objekthierarchie [Seite 38]
5.1.2 - 3.2 HTML Server Controls [Seite 38]
5.1.2.1 - 3.2.1 Übersicht der HTML Server Controls [Seite 40]
5.1.2.2 - 3.2.2 Die Basisklasse HtmlControl [Seite 42]
5.1.2.3 - 3.2.3 Das allgemeine HTML Server Control [Seite 43]
5.1.2.4 - 3.2.4 Container-Controls [Seite 43]
5.1.2.5 - 3.2.5 LiteralControl [Seite 48]
5.1.2.6 - 3.2.6 Eingabeelemente [Seite 49]
5.1.3 - 3.3 Web Controls [Seite 57]
5.1.3.1 - 3.3.1 Übersicht der Web Controls [Seite 58]
5.1.3.2 - 3.3.2 Die Basisklasse WebControl [Seite 58]
5.1.3.3 - 3.3.3 Standard Web Controls [Seite 60]
5.1.3.4 - 3.3.4 Reiche Web Controls [Seite 65]
5.1.4 - 3.4 Smart Navigation [Seite 66]
5.1.5 - 3.5 Den ViewState für eigene Daten nutzen [Seite 69]
5.1.6 - 3.6 Controls dynamisch hinzufügen [Seite 71]
5.1.7 - 3.7 Datenaustausch zwischen Web-Formularen [Seite 73]
5.1.7.1 - 3.7.1 Die Eigenschaft HttpContext.Handler [Seite 73]
6 - 4 Eingabevalidierung [Seite 78]
6.1 - 4 Eingabevalidierung [Seite 80]
6.1.1 - 4.1 Die Basisklasse BaseValidator [Seite 81]
6.1.2 - 4.2 Verfügbare Validation Controls [Seite 82]
6.1.2.1 - 4.2.1 RequiredFieldValidator [Seite 82]
6.1.2.2 - 4.2.2 CompareValidator [Seite 83]
6.1.2.3 - 4.2.3 RangeValidator [Seite 84]
6.1.2.4 - 4.2.4 RegularExpressionValidator [Seite 84]
6.1.2.5 - 4.2.5 CustomValidator [Seite 85]
6.1.3 - 4.3 Fehlerübersicht mit dem ValidationSummary [Seite 87]
7 - 5 Datenbindung [Seite 90]
7.1 - 5 Datenbindung [Seite 92]
7.1.1 - 5.1 Einfache Datenbindung [Seite 92]
7.1.2 - 5.2 Einführung in ADO.NET [Seite 94]
7.1.2.1 - 5.2.1 Verbindungsloser Zugriff [Seite 94]
7.1.2.2 - 5.2.2 Das DataSet-Objekt [Seite 95]
7.1.2.3 - 5.2.3 XML als zentrales Element [Seite 95]
7.1.2.4 - 5.2.4 Einbindung in ASP.NET [Seite 95]
7.1.2.5 - 5.2.5 Einfacher Lesezugriff [Seite 97]
7.1.2.6 - 5.2.6 Stichwort SQL-Injection [Seite 98]
7.1.2.7 - 5.2.7 Arbeiten mit dem DataSet [Seite 99]
7.1.2.8 - 5.2.8 Daten ändern und neu anlegen [Seite 101]
7.1.3 - 5.3 List Controls [Seite 102]
7.1.3.1 - 5.3.1 Die Basisklasse ListControl [Seite 102]
7.1.3.2 - 5.3.2 ListBox [Seite 103]
7.1.3.3 - 5.3.3 RadioButtonList [Seite 105]
7.1.4 - 5.4 Data Controls [Seite 107]
7.1.4.1 - 5.4.1 Repeater [Seite 108]
7.1.4.2 - 5.4.2 Die Basisklasse BaseDataList [Seite 110]
7.1.4.3 - 5.4.3 DataList [Seite 111]
7.1.4.4 - 5.4.4 DataGrid [Seite 113]
8 - 6 Code Behind [Seite 122]
8.1 - 6 Code Behind [Seite 124]
8.1.1 - 6.2 Server Controls und Code Behind [Seite 127]
8.1.2 - 6.3 Code Behind-Klassen kompilieren [Seite 127]
8.1.3 - 6.4 Visual Studio.NET und Code Behind [Seite 128]
8.1.4 - 6.5 Seitenvorlagen mit Code Behind [Seite 128]
9 - 7 State-Management [Seite 134]
9.1 - 7 State-Management [Seite 136]
9.1.1 - 7.1 Session State [Seite 136]
9.1.1.1 - 7.1.1 Wie das Session-Management funktioniert [Seite 136]
9.1.1.2 - 7.1.2 Zugriff auf Session-Variablen [Seite 137]
9.1.1.3 - 7.1.3 Ablage der Session-Daten [Seite 139]
9.1.1.4 - 7.1.4 Ablage von komplexen Daten [Seite 139]
9.1.1.5 - 7.1.5 Konfiguration [Seite 141]
9.1.1.6 - 7.1.6 Session-Ereignisse nutzen [Seite 143]
9.1.2 - 7.2 Application State [Seite 143]
9.1.2.1 - 7.2.1 Zugriff auf applikationsweite Variablen [Seite 144]
9.1.2.2 - 7.2.2 Application-Ereignisse nutzen [Seite 145]
10 - 8 Wichtige .NET-Klassen [Seite 148]
10.1 - 8 Wichtige .NET-Klassen [Seite 150]
10.1.1 - 8.1 Emails versenden [Seite 150]
10.1.1.1 - 8.1.1 Eine Mail mit nur einer Zeile Code [Seite 150]
10.1.1.2 - 8.1.2 Die Klasse MailMessage [Seite 151]
10.1.1.3 - 8.1.3 Wer verschickt die Mail eigentlich? [Seite 152]
10.1.1.4 - 8.1.4 Mehrere Empfänger adressieren [Seite 153]
10.1.1.5 - 8.1.5 Dateien anhängen [Seite 153]
10.1.2 - 8.2 Zugriff auf das Dateisystem [Seite 154]
10.1.2.1 - 8.2.1 Zugriff auf Laufwerke und Verzeichnisse [Seite 155]
10.1.2.2 - 8.2.2 Zugriff auf Dateien [Seite 158]
10.1.2.3 - 8.2.3 Dateien lesen und schreiben [Seite 158]
10.1.3 - 8.3 Grafiken on the fly generieren [Seite 160]
10.1.3.1 - 8.3.1 Zeichnen mit der Klasse Graphics [Seite 161]
11 - 9 Sicherheit [Seite 164]
11.1 - 9 Sicherheit [Seite 166]
11.1.1 - 9.1 Basics [Seite 166]
11.1.1.1 - 9.1.1 Authentication [Seite 166]
11.1.1.2 - 9.1.2 Authorization [Seite 168]
11.1.1.3 - 9.1.3 Impersonation [Seite 168]
11.1.2 - 9.2 Windows Authentication [Seite 168]
11.1.2.1 - 9.2.1 Konfiguration [Seite 169]
11.1.2.2 - 9.2.2 Windows Authentication im Einsatz [Seite 169]
11.1.2.3 - 9.2.3 Gruppenmitgliedschaft überprüfen [Seite 172]
11.1.2.4 - 9.2.4 Impersonation [Seite 172]
11.1.3 - 9.3 Forms Authentication [Seite 175]
11.1.3.1 - 9.3.1 Konfiguration [Seite 176]
11.1.3.2 - 9.3.2 Forms Authentication im Einsatz [Seite 176]
11.1.3.3 - 9.3.3 Individuelle Überprüfung der Benutzerdaten [Seite 178]
11.1.4 - 9.4 Passport Authentication [Seite 178]
11.1.5 - 9.5 Authorization [Seite 179]
11.1.5.1 - 9.5.1 File Authorization [Seite 179]
12 - 10 Eigene Controls [Seite 182]
12.1 - 10 Eigene Controls [Seite 184]
12.1.1 - 10.1 User Controls [Seite 184]
12.1.1.1 - 10.1.1 Eigenschaften implementieren [Seite 185]
12.1.1.2 - 10.1.2 Web Controls in User Control verwenden [Seite 186]
12.1.1.3 - 10.1.3 Ereignisse implementieren [Seite 187]
12.1.1.4 - 10.1.4 User Controls dynamisch laden [Seite 191]
12.1.2 - 10.2 Custom Controls [Seite 192]
12.1.2.1 - 10.2.1 Ein einfaches Beispiel [Seite 192]
12.1.2.2 - 10.2.2 Bestehende Controls erweitern [Seite 194]
13 - 11 Caching und Optimierung [Seite 200]
13.1 - 11 Caching und Optimierung [Seite 202]
13.1.1 - 11.1 Cachen von ganzen Seiten [Seite 202]
13.1.1.1 - 11.1.1 Ein einfaches Beispiel [Seite 203]
13.1.1.2 - 11.1.2 Die @OutputCache-Direktive [Seite 204]
13.1.2 - 11.2 Cachen von Seitenbereichen [Seite 204]
13.1.2.1 - 11.2.1 Ein einfaches Beispiel [Seite 205]
13.1.3 - 11.3 Cachen von Objekten [Seite 206]
13.1.3.1 - 11.3.1 Zugriff auf die Cache-Collection [Seite 206]
13.1.3.2 - 11.3.2 Ein einfaches Beispiel [Seite 207]
13.1.3.3 - 11.3.3 Abhängigkeiten festlegen [Seite 208]
13.1.4 - 11.4 Weitere Optimierungsmöglichkeiten [Seite 210]
13.1.4.1 - 11.4.1 Arbeiten mit Sessions [Seite 210]
13.1.4.2 - 11.4.2 Arbeiten mit Server Controls [Seite 211]
13.1.4.3 - 11.4.3 Arbeiten mit dem ViewState [Seite 212]
13.1.4.4 - 11.4.4 Round Trips zum Server [Seite 213]
13.1.4.5 - 11.4.5 Programmseitige Textausgaben [Seite 216]
13.1.4.6 - 11.4.6 Arbeiten mit Ausnahmen [Seite 216]
13.1.4.7 - 11.4.7 Arbeiten mit COM-Komponenten [Seite 218]
13.1.4.8 - 11.4.8 Arbeiten mit Datenbanken [Seite 218]
13.1.4.9 - 11.4.9 Debugging [Seite 219]
14 - Index [Seite 222]
2.1 Was ist ASP.NET?
ASP.NET ist eine Erweiterung der Internet Information Services (IIS) in Form einer ISAPI Extension. An den Server gerichtete Client-Anfragen mit einer bestimmten Dateiendung werden an die ASP.NET-Engine weitergereicht. Diese verarbeitet die Anfrage und sendet das Ergebnis über die IIS zurück an den Client. Die Verbindung basiert auf dem Protokoll HTTP. Das Ergebnis besteht typischerweise aus einem HTML-Stream, der im Browser des Clients interpretiert wird.
ASP.NET findet folgerichtig auf dem Server statt. Hier kann das an den Client zurückgesendete Ergebnis programmiert werden. Es steht hierzu innerhalb des .NET Frameworks eine umfangreiche und spezialisierte Klassenbibliothek zur Verfügung. Diese kann mit jeder NET-Sprache eingesetzt werden. Wie auch in der Desktop-Entwicklung sind zwei heiße Anwärter auf die Position der Sprache der ersten Wahl C# und Visual Basic.NET.
2.2 Struktur einer Web-Applikation
Vergleichbar mit den bekannten Desktop-Applikationen wird bei ASP.NET eine komplexe, zusammenhängende Anwendungslösung Web-Applikation genannt. Konkret würde diese Bezeichnung beispielsweise eine Unternehmenspräsentation im Internet oder ein Web-Shop verdienen.
Eine Web-Applikation wird durch ein physikalisches Verzeichnis auf dem Server repräsentiert. Alle zugehörigen Informationen und Daten sind unterhalb dieses Verzeichnisses abgelegt.
Innerhalb einer Web-Applikation werden einzelne Bereiche und Funktionalitäten in ASP.NET-Seiten gegliedert. Jede dieser Einheiten entspricht einer im ClientBrowser angezeigten Internet-Seite. Unterschiedliche Aufrufe dieser Seite können programmatisch in unterschiedlichen, dynamischen Ausgaben resultieren. Die Seiten sind somit nicht statisch, wie Sie es von Dateien mit der Endung kennen. Dieses Grundprinzip von ASP.NET ist vergleichbar mit den Fenstern einer Desk top-Applikation. Jede Seite wird durch eine Text-Datei mit der Endung im Verzeichnis der Web-Applikation oder eines darunter liegenden Ordners abgebildet.
Neben einer quasi beliebigen Anzahl von Seiten besteht eine Web-Applikation aus der individuellen Konfiguration. Diese wird - wie bei NET üblich - in einer XMLDatei abgelegt. Es handelt sich um die Datei im Hauptverzeichnis der Web-Applikation.
Klassenbibliotheken mit zusätzlichen Funktionalitäten aus dem eigenen Haus oder von Drittherstellern werden als DLL im Unterverzeichnis der Web-Applikation abgelegt.
2.2.1 Anlage einer neuen Web-Applikation
Web-Applikationen werden zumeist unterhalb von angelegt. Dieses Verzeichnis wird von den Internet Information Services genutzt.
Nachdem Sie ein neues Verzeichnis erstellt haben, müssen Sie dieses den IIS bekannt machen. Öffnen Sie hierzu die entsprechende Management-Konsole "Internet-Informationsdienste" im Verwaltungsbereich der Systemsteuerung. Klicken Sie hier rechts auf die "Standardwebsite", und wählen Sie den Menüpunkt "Neu > Virtuelles Verzeichnis".
Im Assistenten können Sie dem oben angelegten Verzeichnis Ihrer WebApplikation einen individuellen Alias zuweisen. Anschließend steht das Verzeichnis unter diesem Namen dem öffentlichen Zugriff von außen zur Verfügung. Rufen Sie zum Test folgende Adresse im Browser auf http://localhost/
2.3 Aufbau einer ASP.NET-Seite
Bei einer ASP.NET-Seite handelt es sich um eine Text-Datei im physikalischen Verzeichnis der Web-Applikation. Die Datei trägt die Endung und kann unter ihrem Namen direkt im Client-Browser angesprochen werden: Beim ersten Aufruf der Seite wird sie kompiliert und in Form einer Klassenbibliothek als DLL im temporären ASP.NET-Verzeichnis abgelegt: Fortan werden alle Anfragen auf die Datei mittels Ausführung der DLL bedient. Erst bei einer Änderung der Text-Datei oder der Konfiguration der WebApplikation wird die Seite neu kompiliert.
Eine Seite besteht typischerweise aus drei großen Teilen. Im deklarativen Bereich werden seitenspezifische Einstellungen vorgenommen. Hierzu werden in einer festgelegten Syntax so genannte Direktiven notiert. Es folgt der Script-Block, in dem Programmanweisungen und somit das dynamische Innenleben der Seite angegeben werden. Der dritte und letzte Teil umfasst die Darstellung der Seite. Hier werden wie bei regulären statischen Internet-Seiten HTML-Elemente notiert.
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.