Dieses Buch konzentriert sich auf die Kombination von Theorie und Praxis und enthält im Wesentlichen entsprechende Beispielanwendungen für jeden technischen Wissenspunkt zur ASP.NET-Steuerungsentwicklung.
In Bezug auf die Kapitelklassifizierung ist es nach der Kategorie der technischen Punkte geordnet. Der Inhalt ist relativ umfassend. Jeder technische Punkt der Steuerungsentwicklung kann auch als Suchhandbuch verwendet werden.
Inhaltsverzeichnis:
Kapitel 1 Übersicht über die Serversteuerung und Bereitstellung der Entwicklungsumgebung 1
1.1 Benutzerdefinierte Serversteuerung 1
1.2 Die Rolle von Serverkontrollen im Softwareentwicklungsprozess 1
1.3 Verbessern Sie sich in der Kontrollentwicklung 2
1.4 Einführung in vererbbare Kontrollbasisklassen 2
1.5 Ausführen einer einfachen Steuerung 7
1.5.1 Entwickeln Sie eine einfache Steuerung 7
1.5.2 Bereitstellung und Betrieb 11
1.6 Kontrolllebenszyklus 12
1.6.1 Übersicht 12
1.6.2 Verwenden Sie Code, um den Steuerungslebenszyklusprozess zu verfolgen 14
1.7 Zusammenfassung dieses Kapitels 17
Kapitel 2 Debugging-Technologie in der Serversteuerungsentwicklung 18
2.1 Voreingestelltes Codebeispiel 18
2.2 Debug-Seitenservercode 19
2.3 Debuggen von Serverkontrollen 20
2.3.1 Debugging-Methode im laufenden Modus 20
2.3.2 Debugging-Methode im Designmodus 20
2.4 Debugging-Methode für JavaScript-Skripte 22
2.4.1 Debuggen von JavaScript-Skripten in Seiten (Methode 1) 22
2.4.2 Debuggen von JavaScript-Skripten in Seiten (Methode 2) 23
2.4.3 Debuggen nicht eingebetteter JavaScript-Skriptdateien 23
2.4.4 Debuggen eingebetteter JavaScript-Skriptressourcendateien 24
2.4.5 Tipps für effizientes Debuggen 24
2.5 Ajax-Bibliothek unterstützt JavaScript-Debugging 26
2.6 Zusammenfassung dieses Kapitels 26
Kapitel 3 Entwickeln von Serversteuerelementen von Grund auf 27
3.1 Auswahl einer Basisklasse 27
3.2 Reihenfolge der Kontrollpräsentation 28
3.3 Mehrere Möglichkeiten für Render, Steuerelemente darzustellen 30
3.3.1 Verwenden Sie die HTMLTextWriter-Klasse, um 30 auszugeben
3.3.2 HTML-Tags direkt ausgeben 32
3.3.3 Verwendung von RenderControl zur Serversteuerung
Methode 33
3.4 AddAttributesToRender-Methode 34
3.5 CreateChildControls-Methode 35
3.6 INamingContainer-Schnittstelle 36
3.7 Implementierung zusammengesetzter Kontrollen 38
3.7.1 CreateChildControls-Methode 39
3.7.2 ChildControlsCreated-Attribut 39
3.7.3 ConsiderChildControls-Methode 39
3.7.4 RecreateChildControls-Methode 39
3.7.5 Steuert Eigenschaft 40
3.7.6 HasControls-Methode 40
3.7.7 HasEvents-Methode 40
3.7.8 FindControl-Methode 41
3.7.9 Beispiel für die Implementierung einer Verbundsteuerung 41
3.8 Gemeinsame Entwicklungskompetenzen 51
3.8.1 DesignMode-Attribut 51
3.8.2 Maskierungseigenschaften in Basisklassensteuerelementen 52
3.8.3 Page.Request.Browser-Eigenschaft 53
3.8.4 Steuer-ID-Spezifikation festlegen 53
3.8.5 FindControl-Funktion erweitern 54
3.8.6 Zuordnen von Serversteuerwerten zu Client 55
3.8.7 Von CompositeControl abgeleitete Steuerelemente daran hindern, untergeordnete Steuerelemente zu erstellen 56
3.8.8 Hinweise zur Verwendung von CreateChildControls 56
3.8.9 Verstehen Sie die Design-Metaeigenschaft DefaultValue 57 nicht falsch
3.8.10 Nutzung von Basisklassenressourcen in der Render-Methode 57
3.8.11 Bedingte Kompilierung und bedingte Attribute 60
3.9 Zusammenfassung dieses Kapitels 61
Kapitel 4 Serversteuerungseigenschaften 62
4.1 Die Rolle von Kontrolleigenschaften 62
4.1.1 Systemeigenschaften 62
4.1.2 Benutzerdefinierte Attribute 62
4.2 Einfache Attribute 63
4.3 Entwurfszeiteigenschaften von Eigenschaften 64
4.4 Komplexe Attribute 67
4.4.1 Übersicht 67
4.4.2 Verschiedene Auszeichnungsformen komplexer Attribute 67
4.4.3 Eingehende Untersuchung – Komplexer Attributanalysator 79
4.5 Ausführliche Studie – Passen Sie Ihren eigenen Eigenschafteneditor an 85
4.5.1 Systemeigenschaften-Editor 85
4.5.2 Editor für benutzerdefinierte Eigenschaften 91
4.6 Typkonverter 126
4.6.1 Systemtyp-Konverter 126
4.6.2 Anpassen Ihres eigenen Typkonverters 128
4.7 Implementierung benutzerdefinierter Attribute 138
4.8 Zusammenfassung dieses Kapitels 145
Kapitel 5 Ereignisse und Daten-Postback-Mechanismus 146
5.1 Übersicht über Kontrollereignisse und Daten-Postbacks 146
5.1.1 Ereignisse und ihre Bedeutung 146
5.1.2 Daten-Postback-Mechanismus 147
5.2 Implementierung des Ereignis- und Daten-Postback-Mechanismus 148
5.2.1 Schnittstelle für Client-Rückgabeereignisse
IPostBackEventHandler 148
5.2.2 Offenlegung von Client-Postbacks/Callbacks 150
5.2.3 Rückdatenverarbeitungsschnittstelle
IPostBackDataHandler 153
5.2.4 Behandeln Sie Ereignisse von Steuerelementen, die von Basisklassen 159 geerbt wurden, korrekt
5.2.5 Erweitern Sie die Funktion des KingTextBox-Steuerelements (King
TextBoxCanPostEvent-Steuerung) 161
5.3 Ereignisbehandlungsmechanismus zusammengesetzter Steuerelemente 168
5.3.1 Hocheffizientes Ereignissammlungsobjekt 168
5.3.2 Passen Sie Ihre eigenen Delegat- und Ereignisparameterklassen an 170
5.3.3 Ereignisbehandlung zusammengesetzter Steuerelemente 175
5.3.4 Steuerung der Autocomplete-Funktion
SearchControlIntelligent 185
5.4 Zusammenfassung dieses Kapitels 193
Kapitel 6 Seitenstatusmechanismus 194
6.1 Übersicht über den Seitenstatus 194
6.2 Zustandsmechanismus anzeigen 195
6.2.1 IStateManager-Schnittstelle 195
6.2.2 Phasen des Ladens und Speicherns von Ansichten im Steuerungslebenszyklus 196
6.2.3 Einfache Ansichtszustandsanwendung 197
6.2.4 Implementieren des benutzerdefinierten Typansichtsstatus 205
6.3 Kontrollzustandsmechanismus 217
6.4 Die Beziehung zwischen Ansichtsstatus und Kontrollstatus 221
6.4.1 Ansichtsstatus verwenden, auch wenn der Ansichtsstatus deaktiviert ist
ViewState-Objekt 221
6.4.2 Die IStateManager-Schnittstelle kann weiterhin im Steuerzustand 223 verwendet werden
6.4.3 Regeln für die kombinierte Verwendung von Ansichtsstatus und Kontrollstatus 225
6.5 Verschlüsselter Seitenstatus 225
6.6 Seitenstatus löschen 226
6.7 Zustandsanalyse dynamisch hinzugefügter Steuerelemente anzeigen 228
6.8 Benutzerdefinierter Typkonverter zur Erzielung einer effizienten Serialisierung 231
6.9 Strategie zur Optimierung der Seitenstatusleistung 238
6.9.1 Speicherortoptimierung – Anzeigestatusinformationen auf dem Server statt auf dem Client speichern 238
6.9.2 Volumenoptimierung – Ansichtszustandsdaten komprimieren 240
6.9.3 Chunked-Speicherung von Ansichtsstatusdaten 243
6.10 Zusammenfassung des Ansichtsstatus und des Kontrollstatus 243
6.11 Zusammenfassung dieses Kapitels 244
Kapitel 7 Anpassen benutzerdefinierter Steuerelementdesignstile 245
7.1 Übersicht über Steuerungsstile 245
7.2 ASP.NET-Unterstützung für Stile 245
7.2.1 Funktionsprinzip und Verwendung der Style-Klasse 245
7.2.2 Stilunterstützungsfunktionen der WebControl-Basisklasse und ihr Funktionsprinzip 249
7.2.3 Die HTMLTextWriter-Klasse unterstützt Steuerelementstile 252
7.2.4 Stilattributregeln innerhalb des Steuerelements definieren 253
7.2.5 Zwei gängige Konvertierungsmethoden 256
7.3 Anwendungsbeispiele 260
7.3.1 Zusammengesetzter Steuerelementstil und Ansichtsstatus 260
7.3.2 Kontrollstruktur und Stiltrennungsplan 268
7.4 Zusammenfassung dieses Kapitels 295
Kapitel 8 Control Client-Programmiermodell 297
8.1 Die serverseitige ASP.NET-Steuerung unterstützt Client 297
8.2 Detaillierte Erläuterung der ClientScriptManager-Klassenfunktionen 301
8.2.1 RegisterArrayDeclaration-Methode 301
8.2.2 RegisterClientScriptBlock-Methode 302
8.2.3 RegisterClientScriptInclude-Methode 303
8.2.4 RegisterClientScriptResource-Methode 304
8.2.5 RegisterStartupScript-Methode 305
8.2.6 RegisterExpandoAttribute-Methode 305
8.2.7 RegisterHiddenField-Methode 306
8.2.8 GetCallbackEventReference-Methode 307
8.2.9 GetPostBackClientHyperlink-Methode 307
8.2.10 GetPostBackEventReference-Methode 308
8.2.11 GetWebResourceUrl-Methode 308
8.2.12 RegisterOnSubmitStatement-Methode 309
8.3 Kundenrückruf 309
8.4 Beispiel für eine Client-Steuerungsanwendung 323
8.4.1 Kapselung von JS-Clientobjekten 323
8.4.2 Kapselung von HTC-Clientobjekten 343
8.4.3 Beispielanwendung zur Online-Signaturkontrolle 371
8.5 Einige häufig verwendete JavaScript-Frameworks 385
8.6 Zusammenfassung dieses Kapitels 387
Kapitel 9 Anpassen der Benutzersteuerung 388
9.1 Übersicht über Benutzerkontrollen 388
9.1.1 Die Rolle der Benutzerkontrollen 388
9.1.2 System.Web.UI.UserControl verstehen
Basisklasse 388
9.2 Anwendungsbeispiele für die Benutzersteuerung 389
9.2.1 Einfache Benutzersteuerung 389
9.2.2 Komplexe Datenbindungs-Benutzerkontrollen 394
9.3 Zwischenspeicherung der Benutzersteuerung 419
9.3.1 Einführung in das ASP.NET-Caching 419
9.3.2 Zwischenspeicherung der Benutzersteuerung 420
9.4 Zusammenfassung dieses Kapitels 421
Kapitel 10 Entwickeln von Validierungskontrollen 422
10.1 Funktionsweise von Validierungskontrollen 422
10.1.1 Kurzbeschreibung der integrierten Validierungskontrolle 422
10.1.2 Analyse des Wirkmechanismus der Verifizierungskontrolle 423
10.2 Implementierung benutzerdefinierter Validierungskontrollen 443
10.3 Zusammenfassung dieses Kapitels 451
Kapitel 11 Verwendung eingebetteter Ressourcen in Steuerelementen 452
11.1 Grundsätze der Einbettung von Ressourcen in Kontrollen 452
11.2 Anwenden eingebetteter Ressourcen in Kontrollen 453
11.2.1 Verwendung eingebetteter Ressourcen in Kontrollen 453
11.2.2 Häufige eingebettete Ressourcentypen und Verwendung 455
11.3 Gängige Browser-Tools 460
11.3.1 HTTPWatch 460
11.3.2 IE-Entwicklersymbolleiste 461
11.3.3 Fiddler 461
11.4 Zusammenfassung dieses Kapitels 462
Kapitel 12 Entwickeln von Steuerelementen für die Vorlagendatenbindung 463
12.1 ASP.NET-Vorlagenattributkontrollmechanismus 463
12.1.1 Einführung in Vorlagenattribute 463
12.1.2 ASP.NET-Unterstützung für Vorlagensteuerelemente 464
12.1.3 Analyse des Implementierungsmechanismus der Repeater-Steuervorlage 466
12.2 Anwendungsbeispiel für benutzerdefinierte Steuerung 469
12.2.1 Template-Steuerfunktion 469
12.2.2 Anwendungsbeispiele 470
12.3 Zusammenfassung dieses Kapitels 489
Kapitel 13 Datenbindung und Datenquellenkontrollen 490
13.1 Datengebundene Kontrollen 490
13.1.1 Übersicht über datengebundene Kontrollen 490
13.1.2 ASP.NETs Unterstützung für datengebundene Steuerelemente 491
13.2 Beispielanwendung zur Datenbindungskontrolle 501
13.2.1 Steuerungsimplementierungsfunktion 501
13.2.2 Anwendungsbeispiele 502
13.3 Datenquellenkontrolle 508
13.3.1 Übersicht über die Datenquellenkontrollen 508
13.3.2 ASP.NET-Unterstützung für Datenquellenkontrollen 508
13.4 Beispielanwendung zur Datenquellenkontrolle 515
13.4.1 Steuerungsimplementierungsfunktion 515
13.4.2 Anwendungsbeispiele 516
13.5 Zusammenfassung dieses Kapitels 522
Kapitel 14 Erweiterte Steuerungslösung – GridView 523
14.1 Übersicht der erweiterten Steuerelemente 523
14.2 Anpassen mehrerer GridView-Header 523
14.2.1 Funktionsübersicht 523
14.2.2 Code-Implementierung 524
14.3 GridView-Header korrigiert und Unterstützung für Bildlaufleiste hinzugefügt 527
14.3.1 Funktionsübersicht 527
14.3.2 Code-Implementierung 528
14.4 Zusammenfassung dieses Kapitels 533
Kapitel 15 Zusammenfassung der Programmierung im Designmodus für benutzerdefinierte Steuerelemente 534
15.1 .NET Framework unterstützt Design Time 534
15.2 Unterstützung von Entwurfszeit-Metadaten 535
15.3 Komplexe Attributserialisierung 539
15.4 Typkonverter 539
15.5 Eigenschaftseditor 540
15.6 Einführung in die in Entwurfsmustern verfügbaren Basisklassen 541
15.7 Entwurfszeitunterstützung für das Kontrollrendering 543
15.7.1 Übersicht 543
15.7.2 Anwendungsbeispiele 543
15.8 Autoformat 546
15.8.1 Übersicht 546
15.8.2 Anwendungsbeispiele 547
15.9 Vorlagen-UI-Designer 551
15.10 Intelligente Operationsliste 552
15.10.1 Übersicht 552
15.10.2 Anwendungsbeispiele 552
15.11 Control Designer-Bereich 558
15.11.1 Übersicht 558
15.11.2 Anwendungsbeispiele 558
15.12 Zusammenfassung dieses Kapitels 562
Kapitel 16 ASP.NET Ajax-Steuerelemententwicklung –
Kunde 563
16.1 Übersicht über ASP.NET Ajax Framework 563
16.2 Ajax-Bibliothek unterstützt clientseitige objektorientierte Funktionen 564
16.2.1 Namespace und Typ- und Funktionsklassen 565
16.2.2 Schnittstellentyp 568
16.2.3 Klassentypen und objektorientierte Vererbungsfunktionen 569
16.2.4 Aufzählungstypen 570
16.2.4 Reflexionsfunktion 570
16.3 Allgemeine Typen in der Ajax-Bibliothek 571
16.3.1 Ajax-Bibliothekserweiterung für JavaScript-Basistypen 571
16.3.2 Sys.StringBuilder-Klasse 576
16.4 Ajax-Bibliothek fordert den Server an und
WebServices 577
16.4.1 Klassen im Sys.NET-Namespace 577
16.4.2 Prozessanalyse anfordern 578
16.4.3 WebRequest-Anfragebeispiel 579
16.4.4 Verwendung eines Proxys zur Implementierung eines Ajax-Anrufservers, Beispiel 581
16.5 Ajax-Bibliothek unterstützt die Entwicklung der Control-Client-Klasse 584
16.5.1 Basismitglieder der Client-Steuerung (Klasse/Schnittstelle) 584
16.5.2 ASP.NET Ajax-Steuerungsclient-Lebenszyklus 589
16.6 Client Control Beispielanwendung 592
16.7 Debugging und Tracing603
16.8 Zusammenfassung dieses Kapitels 605
Kapitel 17 ASP.NET Ajax-Steuerelemententwicklung –
Server 606
17.1 Übersicht über ASP.NET Ajax Server Controls 606
17.2 Ajax-Serversteuerung 607
17.2.1 Ajax-Serversteuerung 607
17.2.2 ASP.NET Ajax Extension Control 612
17.3 ASP.NET Ajax-Basisklasse für Serversteuerungsunterstützung 612
17.3.1 Von Ajax-Steuerelementen unterstützte Basisklassen 612
17.3.2 Ajax-Steuerungsanwendungsbeispiel 623
17.4 Zusammenfassung dieses Kapitels 636
Anhang A Reihe technischer Tutorials zu .NET 3.5——
Sammlung/ASP.NET Ajax/SilverLight/JQuery 646
Expandieren