ASP.NET 4.0 mit Visual Basic 2010 - Leistungsfähige Webapplikationen programmieren
von: Christian Wenz, Tobias Hauser, Jürgen Kotz, Karsten Samaschke
Addison-Wesley Verlag, 2012
ISBN: 9783863240394
Sprache: Deutsch
976 Seiten, Download: 50966 KB
Format: EPUB, PDF, auch als Online-Lesen
ASP.NET 4.0 mit Visual Basic 2010 – Leistungsfähige Webapplikationen programmieren | 1 | ||
Übersicht | 6 | ||
Inhaltsverzeichnis | 8 | ||
Geleitwort | 8 | ||
Vorwort | 8 | ||
1 Einführung | 8 | ||
2 Installation | 8 | ||
3 Spracheinführung Visual Basic 10 | 8 | ||
4 Formulare mit HTML Controls | 9 | ||
5 Web Controls | 10 | ||
6 Formulare überprüfen | 10 | ||
7 Benutzer- und benutzerdefinierte Steuerelemente | 11 | ||
8 Seitenvorlagen und Templates | 11 | ||
9 Authentifizierung, Autorisierung und Anmeldung | 12 | ||
10 Navigation | 13 | ||
11 Datenhaltung mit Cookies und Sessions | 14 | ||
12 Datei-Handling | 15 | ||
13 Kommunikation | 15 | ||
14 Einführung in ADO.NET | 15 | ||
15 Daten-Controls in ASP.NET 4.0 | 16 | ||
16 LINQ | 17 | ||
17 Dynamic Data | 17 | ||
18 XML | 17 | ||
19 WCF- und Webdienste | 18 | ||
20 Grafiken on the fly | 18 | ||
21 Mobile Controls | 19 | ||
22 Ajax | 19 | ||
23 Silverlight | 20 | ||
24 Lokalisierung und Ressourcen | 20 | ||
25 Serialisierung | 21 | ||
26 Web Parts | 21 | ||
27 ASP.NET MVC | 21 | ||
28 Performance und Caching | 22 | ||
29 Fehlersuche und Debugging | 22 | ||
30 Web-Hacking | 22 | ||
31 Konfiguration | 23 | ||
Index | 23 | ||
Bonuskapitel auf der DVD | 23 | ||
A Neuerungen in Visual Studio 2010 | 23 | ||
B Migration von Visual Basic nach C# | 23 | ||
C Referenz | 24 | ||
D Quellen | 24 | ||
E Alternative Programmiersprachen | 24 | ||
Geleitwort | 26 | ||
Vorwort | 30 | ||
Markterfolg | 31 | ||
Ajax | 31 | ||
Inhalt | 31 | ||
Unterschiede zu Vorgängerauflagen | 34 | ||
Support | 34 | ||
Danksagungen | 35 | ||
Hinweise zu den verwendeten Symbolen | 35 | ||
1 Einführung | 36 | ||
1.1 Was ist .NET? | 37 | ||
1.2 Programmiersprachen in Microsoft .NET | 37 | ||
1.3 Das .NET Framework | 39 | ||
1.3.1 Die Common Language Runtime | 39 | ||
1.3.2 Basisklassen | 42 | ||
1.4 ASP.NET im .NET Framework | 42 | ||
1.5 ASP.NET im Vergleich zu ASP | 43 | ||
1.6 ASP.NET im Vergleich zu ASP.NET 1.x | 44 | ||
1.7 Die ASP.NET-Architektur | 45 | ||
2 Installation | 48 | ||
2.1 Voraussetzungen | 48 | ||
2.2 Installation des .NET Frameworks | 49 | ||
2.2.1 Installation des IIS | 49 | ||
2.2.2 Installation des .NET Frameworks | 52 | ||
2.3 Visual Web Developer Express Edition installieren | 53 | ||
2.4 Fazit | 61 | ||
3 Spracheinführung Visual Basic 10 | 62 | ||
3.1 Zur Einführung: Die Geschichte von Visual Basic | 63 | ||
3.2 Programmierung mit dem Visual Web Developer | 64 | ||
3.2.1 Erzeugung einer Website | 65 | ||
3.2.2 Das obligatorische »Hello World« | 67 | ||
3.3 Grundbegriffe von Datentypen bis zu Schleifen | 70 | ||
3.3.1 Standarddatentypen | 70 | ||
3.3.2 Operatoren | 77 | ||
3.3.3 Strukturierte Datentypen | 83 | ||
3.3.4 Wertetyp- und Referenztypsemantik | 88 | ||
3.3.5 Kontrollstrukturen und Schleifen | 91 | ||
3.4 Programmelemente und Programmebenen | 101 | ||
3.4.1 Funktionen und Prozeduren | 101 | ||
3.4.2 Objektorientierung | 105 | ||
3.4.3 Zusammenstellung von Bibliotheken, Einbindung von Namespaces und externen Objekten | 115 | ||
3.5 Basisfunktionen des .NET Frameworks | 116 | ||
3.5.1 Standardfunktionen und Methoden zur Stringmanipulation | 116 | ||
3.5.2 Andere nützliche Methoden und Funktionen | 119 | ||
3.6 Unterschiede zwischen Visual Basic 6 und Visual Basic 10 | 124 | ||
3.6.1 Das ist neu eingeführt worden | 124 | ||
3.6.2 Das hat sich verändert | 125 | ||
3.7 Kompilierung von Programmen | 126 | ||
3.7.1 Aufruf des Befehlszeilencompilers | 126 | ||
3.8 Bedingte Kompilierung | 127 | ||
3.9 Fehler- und Ausnahmebehandlung in Visual Basic | 128 | ||
3.9.1 Strukturierte Fehlerbehandlung | 129 | ||
3.9.2 Die Exception-Klasse des .NET Frameworks | 130 | ||
3.9.3 Unstrukturierte Fehlerbehandlung | 130 | ||
3.9.4 Die Erzeugung von Ausnahmen | 134 | ||
3.10 Visual Basic 10 Neuerungen | 134 | ||
3.10.1 Dynamische Spracherweiterungen | 134 | ||
3.10.2 Auflistungsinitialisierer | 136 | ||
3.11 Support von Visual Basic im Visual Web Developer | 136 | ||
3.11.1 Ein erster Eindruck der Möglichkeiten | 137 | ||
3.11.2 Die Features des Visual Web Developer Editors | 139 | ||
3.11.3 Code erstellen mit IntelliSense-Unterstützung | 140 | ||
3.11.4 Der Codeausschnitt-Manager | 142 | ||
3.11.5 Neue Features in der Version 2010 | 146 | ||
3.11.6 Dokumentation von Programmcode | 149 | ||
3.12 Fazit | 151 | ||
4 Formulare mit HTML Controls | 152 | ||
4.1 Formulardaten von Hand | 153 | ||
4.1.1 Versandmethode | 153 | ||
4.1.2 Formularfelder | 157 | ||
4.1.3 Ausgabe aller Formularangaben | 163 | ||
4.2 Grundlegendes zu HTML Controls | 167 | ||
4.3 Formularversand mit HTML Controls | 170 | ||
4.3.1 Formular serverseitig | 170 | ||
4.3.2 Versand ermitteln | 171 | ||
4.3.3 Das Formular ausblenden | 177 | ||
4.4 HTML Controls im Einsatz | 179 | ||
4.4.1 Textfeld | 179 | ||
4.4.2 Passwortfeld | 181 | ||
4.4.3 Mehrzeiliges Textfeld | 182 | ||
4.4.4 Checkbox | 182 | ||
4.4.5 Radiobutton | 184 | ||
4.4.6 Auswahlliste | 185 | ||
4.4.7 Komplettes Beispiel | 188 | ||
4.5 Spezialfall File-Upload | 190 | ||
4.6 Daten im Kopfabschnitt der Seite | 195 | ||
4.7 Fazit | 197 | ||
5 Web Controls | 198 | ||
5.1 Textausgabe | 199 | ||
5.2 Formularelemente | 201 | ||
5.2.1 Textfelder (und Passwortfelder) | 201 | ||
5.2.2 Checkbox | 204 | ||
5.2.3 Radiobutton | 209 | ||
5.2.4 Auswahlliste | 213 | ||
5.2.5 Drop-down-Liste | 215 | ||
5.2.6 File-Uploads | 218 | ||
5.2.7 Schaltfläche | 220 | ||
5.3 Control-Layout | 223 | ||
5.4 Weitere Web Controls | 225 | ||
5.4.1 Ein Kalender-Steuerelement | 225 | ||
5.4.2 Mehrseitige Formulare | 226 | ||
5.5 XHTML-Ausgabe | 233 | ||
5.6 Control-IDs | 234 | ||
5.7 Fazit | 238 | ||
6 Formulare überprüfen | 240 | ||
6.1 Worum geht es? | 241 | ||
6.2 Validation Controls | 244 | ||
6.2.1 Pflichtfelder: RequiredFieldValidator | 244 | ||
6.2.2 Eingaben im Intervall: RangeValidator | 247 | ||
6.2.3 Werte vergleichen: CompareValidator | 249 | ||
6.2.4 Musterprüfung: RegularExpressionValidator | 253 | ||
6.2.5 Eigene Funktion: CustomValidator | 260 | ||
6.3 Fehlermeldungen ausgeben | 266 | ||
6.3.1 Validierungsergebnis: ValidationSummary | 266 | ||
6.3.2 Dynamische Anzeige | 271 | ||
6.3.3 Layout der Fehlermeldungen | 272 | ||
6.4 Formulare teilweise validieren | 275 | ||
6.5 Formular-Handling | 277 | ||
6.5.1 Formular versenden | 277 | ||
6.5.2 Überprüfung abbrechen | 278 | ||
6.6 Fazit | 279 | ||
7 Benutzer- und benutzerdefinierte Steuerelemente | 280 | ||
7.1 Vergleich der Steuerelemente | 281 | ||
7.2 Benutzersteuerelement definieren | 282 | ||
7.3 Wichtige Attribute der Control-Direktive | 282 | ||
7.4 Inline-Code vs. Code Behind | 284 | ||
7.5 Benutzersteuerelement in einer Seite verwenden | 286 | ||
7.6 Eigenschaften und Methoden verwenden | 290 | ||
7.7 Ereignisse verwenden | 293 | ||
7.7.1 Ereignisbehandlung per Handles-Schlüsselwort | 293 | ||
7.7.2 Ereignisbehandlung per AddHandler-Anweisung | 294 | ||
7.7.3 Deklarative Ereignisbehandlung per Attribut | 294 | ||
7.7.4 Beispiel | 295 | ||
7.8 Dynamisches Laden von Benutzersteuerelementen | 298 | ||
7.9 Benutzerdefiniertes Steuerelement | 301 | ||
7.10 Benutzerdefiniertes Steuerelement verwenden | 302 | ||
7.11 In benutzerdefinierten Steuerelementen auf Ereignisse reagieren | 305 | ||
7.12 Eigenschaften und Methoden von benutzerdefinierten Steuerelementen | 308 | ||
7.12.1 Programmatischer Zugriff auf Eigenschaften und Methoden | 311 | ||
7.13 Erweitern von existierenden Steuerelementen | 311 | ||
7.14 Attribute von benutzerdefinierten Steuerelementen | 315 | ||
7.14.1 Attribute auf Klassenebene | 315 | ||
7.14.2 Attribute auf Eigenschaftsebene | 316 | ||
7.14.3 Weitere Attribute | 318 | ||
7.15 Fazit | 319 | ||
8 Seitenvorlagen und Templates | 320 | ||
8.1 Seitenvorlage definieren | 320 | ||
8.1.1 Eine abgeleitete Seite | 322 | ||
8.1.2 Attribute der Master-Direktive | 326 | ||
8.1.3 Standardinhalte definieren | 328 | ||
8.1.4 Titel der Seite festlegen | 332 | ||
8.1.5 Zentrale Funktionen in der Seitenvorlage | 333 | ||
8.1.6 Explizite Umwandlung des Vorlagentyps | 335 | ||
8.1.7 Verwenden der MasterType-Direktive | 336 | ||
8.1.8 Zugriff auf Eigenschaften und Methoden der Seitenvorlage | 336 | ||
8.1.9 Seitenvorlage deklarativ vererben/schachteln | 337 | ||
8.1.10 Seitenvorlage programmatisch vererben | 340 | ||
8.1.11 Seitenvorlage dynamisch laden | 343 | ||
8.2 Designs | 346 | ||
8.2.1 Design definieren | 346 | ||
8.2.2 Syntax für Designs | 348 | ||
8.2.3 Designs und Bilder | 350 | ||
8.2.4 Zu verwendendes Design zentral festlegen | 351 | ||
8.2.5 Zu verwendendes Design programmatisch festlegen | 352 | ||
8.2.6 Verhindern, dass Designs zugewiesen werden | 355 | ||
8.2.7 Designeinstellungen nur auf Stylesheet-Ebene übernehmen | 355 | ||
8.3 Fazit | 355 | ||
9 Authentifizierung, Autorisierung und Anmeldung | 356 | ||
9.1 Grundlagen | 356 | ||
9.2 Einrichten der Datenbank | 357 | ||
9.3 Konfiguration des Providers | 360 | ||
9.4 Konfiguration einer Webapplikation | 361 | ||
9.5 Verwendung des Sicherheits-Setup-Assistenten | 363 | ||
9.6 Konfiguration ohne Assistenten | 368 | ||
9.6.1 Benutzer erstellen | 368 | ||
9.6.2 Benutzer verwalten | 369 | ||
9.6.3 Benutzer löschen | 370 | ||
9.6.4 Rollenmitgliedschaften von Benutzern bearbeiten | 371 | ||
9.6.5 Authentifizierungstyp auswählen | 372 | ||
9.6.6 Rollen | 373 | ||
9.6.7 Neue Rolle erstellen | 373 | ||
9.6.8 Rollen verwalten | 374 | ||
9.6.9 Zugriffsregeln definieren oder verwalten | 374 | ||
9.7 Authentifizierung manuell konfigurieren | 376 | ||
9.7.1 Festlegen des Authentifizierungsmodus | 376 | ||
9.7.2 Hinterlegen von Benutzern in der web.config | 377 | ||
9.7.3 Schutz von Verzeichnissen deklarieren | 378 | ||
9.7.4 Unterverzeichnis schützen | 379 | ||
9.7.5 Einzelne Dateien formularbasiert schützen | 379 | ||
9.8 Windows-basierte Authentifizierung (IIS-Authentifizierung) konfigurieren | 380 | ||
9.8.1 Standardauthentifizierung: einfache Absicherung aller Elemente einer Applikation (vor IIS 7) | 381 | ||
9.8.2 Standardauthentifizierung: einfache Absicherung aller Elemente einer Applikation (Windows Server 2008) | 381 | ||
9.8.3 Standardauthentifizierung: Einfache Absicherung aller Elemente einer Applikation (Windows Vista, Windows 7) | 382 | ||
9.8.4 Standardauthentifizierung für IIS 7 und höher konfigurieren | 383 | ||
9.8.5 Windows-Authentifizierung für .NET konfigurieren | 385 | ||
9.9 Membership-Provider konfigurieren | 385 | ||
9.10 Das Login-Steuerelement | 388 | ||
9.10.1 Wichtige Eigenschaften des Login-Steuerelements | 390 | ||
9.11 Anmeldung über Membership-API | 392 | ||
9.12 Dauerhafte Anmeldung realisieren | 395 | ||
9.12.1 Länge der dauerhaften Anmeldung konfigurieren | 395 | ||
9.13 Registrierung von Benutzern | 396 | ||
9.14 PasswordRecovery-Steuerelement | 399 | ||
9.15 Den Namen des angemeldeten Users ausgeben | 402 | ||
9.15.1 Verwenden von Membership.GetUser() | 403 | ||
9.15.2 Verwenden des LoginName-Steuerelements | 404 | ||
9.16 LoginStatus: in Abhängigkeit vom Anmeldestatus arbeiten | 405 | ||
9.17 LoginView | 406 | ||
9.18 Fazit | 407 | ||
10 Navigation | 408 | ||
10.1 Hinterlegen von Navigationsstrukturen | 408 | ||
10.1.1 SiteMapProvider konfigurieren | 409 | ||
10.1.2 Aufbau der web.sitemap-Datei | 410 | ||
10.1.3 Verteilen der Navigationsstruktur auf mehrere Dateien | 412 | ||
10.2 Sicherheit | 414 | ||
10.2.1 Ausnahmen für bestimmte Gruppen definieren | 416 | ||
10.3 Unterschiedliche Anbieter verwenden | 417 | ||
10.4 Programmatischer Zugriff auf Navigationsstrukturen | 418 | ||
10.4.1 Alle Knoten ausgeben | 418 | ||
10.4.2 Pfad zum aktuellen Element ausgeben | 423 | ||
10.5 SiteMapDataSource-Steuerelement | 426 | ||
10.5.1 Verwenden des SiteMapDataSource-Steuerelements | 426 | ||
10.5.2 Filtern von Elementen des SiteMapDataSource-Steuerelements | 426 | ||
10.6 Menu-Steuerelement | 429 | ||
10.6.1 Verwenden des Menu-Steuerelements | 429 | ||
10.6.2 Ausgabemodus | 432 | ||
10.6.3 Darstellungsarten | 432 | ||
10.6.4 Navigationen kombinieren | 437 | ||
10.6.5 Navigationspunkte fest definieren | 439 | ||
10.6.6 Schriften, Farben und Stile anpassen | 441 | ||
10.7 TreeView-Steuerelement | 443 | ||
10.7.1 Statische Knoten | 443 | ||
10.7.2 TreeView programmatisch befüllen | 445 | ||
10.7.3 Dynamische und statische Knoten kombinieren | 447 | ||
10.7.4 Knoten bei Bedarf laden und anzeigen lassen | 449 | ||
10.7.5 TreeView und Client Callbacks | 452 | ||
10.7.6 Informationen per PostBack übermitteln | 452 | ||
10.7.7 Schriften, Farben und Stile anpassen | 455 | ||
10.8 SiteMapPath-Steuerelement | 456 | ||
10.8.1 Verwenden des SiteMapPath-Steuerelements | 456 | ||
10.8.2 Richtung der Darstellung ändern | 457 | ||
10.8.3 Trennzeichen festlegen | 458 | ||
10.8.4 Festlegen, wie viele übergeordnete Knoten angezeigt werden | 458 | ||
10.8.5 Aktuelles Element als Link darstellen | 459 | ||
10.8.6 Schriften, Farben und Stile anpassen | 459 | ||
10.9 Fazit | 461 | ||
11 Datenhaltung mit Cookies und Sessions | 462 | ||
11.1 Cookies | 463 | ||
11.1.1 Cookies | 463 | ||
11.1.2 Arbeiten mit Cookies | 466 | ||
11.1.3 Mehrere Informationen in einem Cookie | 473 | ||
11.1.4 Cookie-Test | 479 | ||
11.2 Sessions | 483 | ||
11.2.1 Grundlagen | 483 | ||
11.2.2 Mit einer Session arbeiten | 487 | ||
11.3 Profile | 496 | ||
11.3.1 Profile anlegen | 497 | ||
11.3.2 Profile auslesen | 499 | ||
11.3.3 Anonyme Profile | 501 | ||
12 Datei-Handling | 506 | ||
12.1 Begriffe | 506 | ||
12.2 Dateizugriff | 507 | ||
12.2.1 Textdatei | 507 | ||
12.2.2 Binärdatei | 522 | ||
12.2.3 Schwarzes Brett | 525 | ||
12.3 Datei- und Verzeichnisinformationen | 533 | ||
12.3.1 Dateiinformationen | 533 | ||
12.3.2 Verzeichnisinformationen | 535 | ||
12.3.3 Verzeichnisbrowser | 537 | ||
12.4 Weitere Streams | 541 | ||
13 Kommunikation | 546 | ||
13.1 E-Mail | 546 | ||
13.1.1 Einfache E-Mail versenden | 547 | ||
13.1.2 Konfiguration der E-Mail-Einstellungen | 551 | ||
13.1.3 Konfiguration per web.config | 552 | ||
13.1.4 HTML-E-Mail versenden | 554 | ||
13.1.5 Anhänge versenden | 557 | ||
13.1.6 Umlaute übertragen | 560 | ||
13.1.7 Kopien und Blindkopien versenden | 561 | ||
13.1.8 Priorität einer E-Mail bestimmen | 562 | ||
13.2 Webseiten abrufen | 562 | ||
13.2.1 Binäre Inhalte abrufen | 564 | ||
13.2.2 Daten übertragen | 565 | ||
13.2.3 Cookies übertragen | 571 | ||
13.2.4 Cookies abrufen | 572 | ||
13.3 FTP-Daten übertragen | 572 | ||
13.3.1 Inhalte abrufen | 573 | ||
13.3.2 Inhalte senden | 576 | ||
13.4 Fazit | 578 | ||
14 Einführung in ADO.NET | 580 | ||
14.1 Was ist ADO.NET? | 581 | ||
14.1.1 Der Weg zu ADO.NET | 581 | ||
14.1.2 Die ADO.NET-Architektur | 582 | ||
14.2 SQL – eine Kurzeinführung | 588 | ||
14.3 Viele Wege führen zum Ziel – Hallo Welt aus der Datenbank | 595 | ||
14.3.1 Vorbereitungen: Datenbank, Tabelle und Inhalt erstellen | 595 | ||
14.3.2 Daten aus einer Datenbank auslesen mittels Drag&Drop | 599 | ||
14.3.3 Daten aus einer Datenbank mit eigenem Code auslesen | 601 | ||
14.4 Mit Datenquellen kommunizieren | 604 | ||
14.4.1 Der Verbindungsaufbau zu einer Datenbank | 606 | ||
14.5 Einfaches Lesen und Schreiben von Daten | 611 | ||
14.5.1 Der DataReader | 611 | ||
14.5.2 Die Methode ExecuteScalar | 613 | ||
14.5.3 Daten ergänzen | 615 | ||
14.5.4 Einfache Ausgaben mit DataSet und DataAdapter | 618 | ||
14.6 Gespeicherte Prozeduren ansprechen | 622 | ||
14.7 Transaktionen mit ADO.NET | 629 | ||
14.8 Das DataSet-Objekt | 632 | ||
14.8.1 DataTable | 633 | ||
14.8.2 DataView | 637 | ||
14.8.3 Constraints und Relations | 641 | ||
14.8.4 Das DataSet-Objekt in der Entwicklungsumgebung | 644 | ||
14.9 Fazit | 648 | ||
15 Daten-Controls in ASP.NET 4.0 | 650 | ||
15.1 DataSource-Controls | 651 | ||
15.2 Das GridView-Control näher betrachtet | 655 | ||
15.2.1 Datensätze im GridView auswählen | 659 | ||
15.2.2 Die Sortierung über das GridView-Control steuern | 663 | ||
15.2.3 Seitenwechsel in das GridView einführen | 664 | ||
15.2.4 Datensätze im GridView verändern | 666 | ||
15.2.5 Formatvorlagen im GridView-Control | 668 | ||
15.3 Das DetailsView- und FormView-Control | 677 | ||
15.3.1 Das DetailsView-Control | 678 | ||
15.3.2 Das FormView-Control | 679 | ||
15.4 Das ListView-, DataPager- und ChartControl | 681 | ||
15.4.1 Grundlagen des ListView-Controls | 681 | ||
15.4.2 Gruppierungen im ListView-Control nutzen | 684 | ||
15.4.3 Seitenwechsel mithilfe des DataPager-Controls einfügen | 687 | ||
15.4.4 Datensätze im ListView-Control verändern | 693 | ||
15.4.5 Chart Control | 698 | ||
15.5 Fazit | 701 | ||
16 LINQ | 704 | ||
16.1 Was ist LINQ? | 705 | ||
16.2 LINQ to Objects | 706 | ||
16.2.1 Erweiterungsmethoden | 706 | ||
16.2.2 Standard-Query-Operatoren | 707 | ||
16.2.3 Beispielanwendung | 708 | ||
16.3 LINQ to ADO.NET | 712 | ||
16.3.1 LINQ to SQL | 712 | ||
16.3.2 DataContext | 712 | ||
16.3.3 LINQ to SQL-Klassendesigner | 713 | ||
16.3.4 Datenbindung mittels Designerklassen | 719 | ||
16.3.5 Datenbindung mittels LinqDataSource | 721 | ||
16.4 LINQ to XML | 724 | ||
16.5 LINQ to Entities – Entity Framework | 727 | ||
16.6 QueryExtender | 737 | ||
16.7 Fazit | 738 | ||
17 Dynamic Data | 740 | ||
17.1 Vorteile von Dynamic Data | 740 | ||
17.2 Aktivieren von Dynamic Data | 741 | ||
17.3 Verwenden der Websitevorlage | 743 | ||
17.3.1 Templates | 744 | ||
17.3.2 Datenauswahl | 744 | ||
17.3.3 Die Rolle der Global.asax | 744 | ||
17.3.4 Validierung von Feldinhalten | 746 | ||
17.3.5 Anpassen der Templates | 747 | ||
17.4 Fazit | 752 | ||
18 XML | 754 | ||
18.1 XML-Grundlagen | 754 | ||
18.1.1 Regeln | 756 | ||
18.1.2 Namespace | 759 | ||
18.1.3 DTD | 761 | ||
18.1.4 Schema | 763 | ||
18.1.5 Datenzugriff | 764 | ||
18.2 XML in .NET | 766 | ||
18.2.1 XmlReader zum Lesen und Schreiben | 766 | ||
18.2.2 DOM | 783 | ||
18.3 Fortgeschrittene Technologien | 794 | ||
18.3.1 DataSets und XML | 794 | ||
18.3.2 XmlDataSource | 805 | ||
18.3.3 XSLT | 807 | ||
18.3.4 XPath | 812 | ||
19 WCF- und Webdienste | 820 | ||
19.1 SOAP, WSDL und UDDI | 820 | ||
19.1.1 Aufbau einer SOAP-Nachricht | 821 | ||
19.1.2 Datenidentität vs. Objektidentität | 821 | ||
19.1.3 WSDL | 822 | ||
19.2 WCF-Dienste | 822 | ||
19.2.1 Definition eines WCF-Dienstes | 823 | ||
19.2.2 Einbinden eines WCF-Dienstes | 825 | ||
19.2.3 Konfiguration von WCF-Dienste-Clients | 828 | ||
19.2.4 Definition von komplexen Datentypen | 835 | ||
19.2.5 Einweg-WCF-Dienste | 841 | ||
19.2.6 Asynchrone Methoden | 844 | ||
19.2.7 Authentifizierung und Autorisierung in WCF-Diensten | 849 | ||
19.3 ASP.NET-Webdienste | 859 | ||
19.3.1 Bereitstellen eines ASP.NET-Webdienstes | 859 | ||
19.3.2 ASP.NET-Webdienst konsumieren | 864 | ||
19.3.3 Adresse eines Webdienstes ändern | 867 | ||
19.3.4 Einweg-Methoden mit ASP.NET-Webdiensten | 867 | ||
19.4 Fazit | 870 | ||
20 Grafiken on the fly | 872 | ||
20.1 Grundlagen | 873 | ||
20.1.1 Exkurs: Dateiformate | 875 | ||
20.2 Farbe | 878 | ||
20.3 Transparenz | 881 | ||
20.4 Formen | 883 | ||
20.4.1 Einfache Formen | 883 | ||
20.4.2 Andere Formen | 884 | ||
20.5 Pinsel und Stift | 889 | ||
20.5.1 Pinsel | 889 | ||
20.5.2 Musterpinsel | 892 | ||
20.5.3 Verläufe | 893 | ||
20.5.4 Stift | 898 | ||
20.6 Text | 905 | ||
20.7 Antialiasing und weitere Methoden | 907 | ||
20.8 Eine Anwendung | 909 | ||
21 Mobile Controls | 916 | ||
21.1 Motivation | 917 | ||
21.2 WML | 918 | ||
21.2.1 Stapel und Karten | 919 | ||
21.2.2 Text | 919 | ||
21.2.3 Verlinkung | 920 | ||
21.2.4 Grafiken | 921 | ||
21.2.5 Formulare | 923 | ||
21.2.6 ASP.NET Mobile Controls | 927 | ||
21.3 Mobile Controls | 928 | ||
21.3.1 Allgemeines | 928 | ||
21.3.2 Links | 930 | ||
21.3.3 Grafiken | 932 | ||
21.3.4 Textfelder | 933 | ||
21.3.5 Radiobuttons und Checkboxen | 936 | ||
21.3.6 Validation Controls | 939 | ||
21.3.7 Weitere Controls | 939 | ||
21.3.8 Gerätespezifische Filter | 940 | ||
21.4 Fazit | 942 | ||
22 Ajax | 944 | ||
22.1 Nachteile und offene Punkte | 945 | ||
22.2 ASP.NET AJAX | 946 | ||
22.2.1 Grundlegende Funktionen | 947 | ||
22.2.2 Trigger | 950 | ||
22.2.3 Fortschrittsanzeige – UpdateProgress | 950 | ||
22.2.4 Clientseitige Steuerung | 951 | ||
22.2.5 Web Services | 955 | ||
22.2.6 ASP.NET AJAX Control Toolkit | 962 | ||
22.3 jQuery | 966 | ||
22.3.1 Einbau | 967 | ||
22.3.2 Ajax-Aufruf | 969 | ||
22.4 Fazit | 971 | ||
23 Silverlight | 972 | ||
23.1 Tools | 973 | ||
23.1.1 Silverlight Tools | 973 | ||
23.1.2 Silverlight SDK | 973 | ||
23.1.3 Silverlight beim Client | 974 | ||
23.1.4 Microsoft Expression Blend | 974 | ||
23.2 Loslegen mit Silverlight | 974 | ||
23.2.1 Vorbereitungen | 974 | ||
23.2.2 XAML-Oberfläche definieren | 976 | ||
23.2.3 Silverlight starten | 978 | ||
23.2.4 Verschiedene Objekte | 978 | ||
23.2.5 Auf Ereignisse reagieren | 980 | ||
23.3 Anwendungen installieren | 983 | ||
23.4 Fazit | 986 | ||
24 Lokalisierung und Ressourcen | 988 | ||
24.1 Grundlagen | 989 | ||
24.1.1 Sprachen und Kulturen | 989 | ||
24.1.2 Kulturspezifische Ressourcen und Standardressourcen | 990 | ||
24.1.3 Auflösung, welche Ressource verwendet werden muss | 990 | ||
24.1.4 Definition von lokalen Ressourcen | 991 | ||
24.1.5 Definition von globalen Ressourcen | 992 | ||
24.2 Zugriff auf Werte einer Ressource | 992 | ||
24.2.1 Das Localize-Steuerelement | 994 | ||
24.2.2 Deklarativer Zugriff auf Ressourcen | 995 | ||
24.2.3 Programmatischer Zugriff auf lokale Ressource | 998 | ||
24.2.4 Programmatischer Zugriff auf globale Ressource: GetGlobalResourceObject() | 999 | ||
24.2.5 Programmatischer Zugriff auf globale Ressource: typisierte Struktur | 1000 | ||
24.3 Lokalisierung aktivieren | 1001 | ||
24.3.1 Deklaratives Festlegen in der web.config | 1002 | ||
24.3.2 Deklaratives Festlegen in einer Seite | 1003 | ||
24.3.3 Programmatisches Festlegen | 1003 | ||
24.3.4 Auswirkungen der Sprach- und Kultureinstellungen | 1004 | ||
24.3.5 Sprache durch den Benutzer einstellen lassen | 1010 | ||
24.4 Fazit | 1013 | ||
25 Serialisierung | 1014 | ||
25.1 Binär | 1015 | ||
25.2 XML | 1019 | ||
25.2.1 Serialisieren | 1019 | ||
25.2.2 Attribute zur Serialisierung | 1022 | ||
25.2.3 Deserialisieren | 1024 | ||
25.3 SOAP | 1026 | ||
26 Web Parts | 1032 | ||
26.1 Web-Part-Modi | 1033 | ||
26.1.1 WebPartManager und Zonen | 1033 | ||
26.1.2 Zonenlayout | 1034 | ||
26.1.3 Layout | 1039 | ||
26.2 WebPartDisplayMode | 1041 | ||
26.2.1 WebPartDisplayMode auslesen und ändern | 1041 | ||
26.2.2 Katalogzonen | 1047 | ||
26.2.3 Weitere DisplayModes | 1049 | ||
26.3 Fazit | 1052 | ||
27 ASP.NET MVC | 1054 | ||
27.1 MVC-Ansatz | 1054 | ||
27.2 Einfache ASP.NET-MVC-Applikation | 1056 | ||
27.2.1 Controller definieren | 1058 | ||
27.2.2 Anlegen einer Ansicht | 1060 | ||
27.2.3 Routen | 1062 | ||
27.2.4 Daten an Anzeigen übergeben | 1063 | ||
27.2.5 Parameter entgegennehmen | 1067 | ||
27.2.6 Objekte als Parameter verwenden | 1071 | ||
27.2.7 Nur POST- oder GET-Requests zulassen | 1073 | ||
27.2.8 Auf eine andere Aktion weiterleiten | 1073 | ||
27.2.9 Andere Anzeige zur Darstellung nutzen | 1074 | ||
27.3 Daten validieren | 1075 | ||
27.3.1 Validieren von Eingaben per ModelState-Dictionary | 1075 | ||
27.3.2 Validieren von Eingaben per Attribut | 1079 | ||
27.4 Formularbasierte Authentifizierung | 1084 | ||
27.5 Fazit | 1087 | ||
28 Performance und Caching | 1088 | ||
28.1 Caching | 1089 | ||
28.1.1 Was ist Caching? | 1089 | ||
28.1.2 Output-Caching | 1092 | ||
28.1.3 Caching mit Parametern | 1093 | ||
28.1.4 Caching für jeden Browser | 1094 | ||
28.1.5 Caching je nach Header | 1096 | ||
28.1.6 Fragmentelles Caching | 1097 | ||
28.1.7 Caching im Browser | 1099 | ||
28.2 Variablen im Cache | 1099 | ||
28.2.1 Zugriff | 1100 | ||
28.2.2 Lebensdauer | 1101 | ||
28.2.3 Abhängigkeiten | 1102 | ||
28.2.4 Variablen entfernen | 1104 | ||
28.3 Mehr Caching-Möglichkeiten | 1104 | ||
28.3.1 Aktionen nach dem Cachen | 1104 | ||
28.3.2 SQL-Cache | 1106 | ||
28.4 Fazit | 1110 | ||
29 Fehlersuche und Debugging | 1112 | ||
29.1 Fehlertypen | 1113 | ||
29.2 Compilerausgaben | 1117 | ||
29.3 Debug-Modus | 1118 | ||
29.4 Trace-Modus | 1120 | ||
29.4.1 Trace-Informationen | 1121 | ||
29.4.2 Eigene Ausgaben | 1124 | ||
29.5 Auf Fehler reagieren | 1125 | ||
29.6 Der Debugger | 1127 | ||
29.7 Tipps | 1133 | ||
30 Web-Hacking | 1134 | ||
30.1 Benutzereingaben | 1136 | ||
30.2 XSS | 1137 | ||
30.3 SQL Injection | 1143 | ||
30.4 Versteckte Felder? | 1145 | ||
30.5 Fazit | 1148 | ||
31 Konfiguration | 1150 | ||
31.1 Konfigurationsdateien im Überblick | 1151 | ||
31.2 Der Aufbau der Konfigurationsdateien | 1151 | ||
31.3 .NET-Konfigurationsdateien und .ini-Dateien im Vergleich | 1152 | ||
31.4 Die unterschiedlichen Bereiche der Konfigurationsdateien im Detail | 1153 | ||
31.5 Der Einsatz von konfigurierbaren Eigenschaften | 1171 | ||
31.6 Fazit | 1172 | ||
Index | 1174 | ||
Symbole | 1174 | ||
A | 1176 | ||
B | 1178 | ||
C | 1179 | ||
D | 1181 | ||
E | 1183 | ||
F | 1183 | ||
G | 1185 | ||
H | 1185 | ||
I | 1186 | ||
J | 1187 | ||
K | 1187 | ||
L | 1187 | ||
M | 1188 | ||
N | 1190 | ||
O | 1190 | ||
P | 1191 | ||
Q | 1192 | ||
R | 1192 | ||
S | 1193 | ||
T | 1196 | ||
U | 1197 | ||
V | 1197 | ||
W | 1199 | ||
X | 1200 | ||
Y | 1201 | ||
Z | 1201 | ||
Bonuskapitel auf der DVD | 1202 | ||
A Neuerungen in Visual Studio 2010 | 1202 | ||
A.1 Multi-Targeting | 1202 | ||
A.2 Ansichten | 1205 | ||
A.3 CSS-Unterstützung | 1205 | ||
A.4 IntelliSense | 1209 | ||
A.5 Fazit | 1212 | ||
B Migration von Visual Basic nach C# | 1214 | ||
B.1 Wesentliche Sprachunterschiede | 1214 | ||
B.1.1 Anweisungstrenner | 1215 | ||
B.1.2 Blöcke | 1216 | ||
B.1.3 Verzweigungen | 1217 | ||
B.1.4 Kommentare | 1218 | ||
B.1.5 Variablendeklaration | 1219 | ||
B.1.6 Operatoren | 1221 | ||
B.1.7 Arrays | 1222 | ||
B.1.8 Funktionen und Prozeduren | 1223 | ||
B.1.9 By Value und By Reference | 1225 | ||
B.1.10 Eigenschaften | 1226 | ||
B.1.11 Klassen und Namensräume | 1228 | ||
B.1.12 Modifizierer | 1231 | ||
B.1.13 Typkonvertierung | 1231 | ||
B.1.14 Importieren von Typen | 1233 | ||
B.1.15 Erweiterungsmethoden | 1233 | ||
B.2 Beispiel | 1234 | ||
B.2.1 Fazit | 1239 | ||
C Referenz | 1240 | ||
C.1 HTML Controls | 1240 | ||
C.1.1 Übergeordnet | 1241 | ||
C.1.2 Allgemein | 1241 | ||
C.1.3 Formulare | 1246 | ||
C.2 Web Controls | 1251 | ||
C.2.1 Übergeordnet | 1251 | ||
C.2.2 Web Form Controls | 1252 | ||
C.2.3 Komplexere Formularausgaben | 1265 | ||
C.2.4 Navigations-Controls | 1269 | ||
C.2.5 Masterseiten | 1275 | ||
C.2.6 Anmeldungs-Controls | 1276 | ||
C.2.7 Controls zur Datenausgabe | 1292 | ||
C.2.8 Validierungs-Controls | 1301 | ||
C.2.9 Sonstige Controls | 1305 | ||
D Quellen | 1310 | ||
D.1 Die mitgelieferten Hilfen im .NET Framework | 1310 | ||
D.2 Microsofts Netzwerk | 1311 | ||
D.3 Community-Websites | 1314 | ||
E Alternative Programmiersprachen | 1316 | ||
E.1 Das Beispiel | 1317 | ||
E.2 JScript | 1318 | ||
E.3 Java | 1320 | ||
E.4 COBOL | 1322 | ||
E.5 Perl, Python und Ruby | 1324 | ||
E.6 PHP | 1325 | ||
E.7 Ausblick | 1326 | ||
Copyright | 1328 |