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