Ce livre se concentre sur la combinaison de la théorie et de la pratique et propose essentiellement des exemples d'applications correspondants pour chaque point de connaissances techniques en matière de développement de contrôles ASP.NET.
En termes de classification des chapitres, il est classé selon la catégorie de points techniques. Le contenu est relativement complet. Chaque point technique de développement du contrôle est expliqué en détail. Ce livre peut également être utilisé comme manuel de recherche.
Table des matières:
Chapitre 1 Présentation du contrôle serveur et déploiement de l'environnement de développement 1
1.1 Contrôle de serveur personnalisé 1
1.2 Le rôle des contrôles serveur dans le processus de développement logiciel 1
1.3 Améliorez-vous dans le développement du contrôle 2
1.4 Introduction aux classes de base de contrôle héritables 2
1.5 Exécution d'un contrôle simple 7
1.5.1 Développer un contrôle simple 7
1.5.2 Déploiement et fonctionnement 11
1.6 Cycle de vie du contrôle 12
1.6.1 Aperçu 12
1.6.2 Utiliser le code pour suivre le processus du cycle de vie du contrôle 14
1.7 Résumé de ce chapitre 17
Chapitre 2 Technologie de débogage dans le développement de contrôles de serveur 18
2.1 Exemple de code prédéfini 18
2.2 Code du serveur de la page de débogage 19
2.3 Débogage des contrôles serveur 20
2.3.1 Méthode de débogage en mode exécution 20
2.3.2 Méthode de débogage en mode conception 20
2.4 Méthode de débogage des scripts JavaScript 22
2.4.1 Débogage des scripts JavaScript dans les pages (Méthode 1) 22
2.4.2 Débogage des scripts JavaScript dans les pages (Méthode 2) 23
2.4.3 Débogage des fichiers de script JavaScript non intégrés 23
2.4.4 Débogage des fichiers de ressources de script JavaScript intégré 24
2.4.5 Conseils pour un débogage efficace 24
2.5 La bibliothèque Ajax prend en charge le débogage JavaScript 26
2.6 Résumé de ce chapitre 26
Chapitre 3 Développement de contrôles serveur à partir de zéro 27
3.1 Sélection d'une classe de base 27
3.2 Ordre de présentation des contrôles 28
3.3 Plusieurs manières pour Render de présenter les contrôles 30
3.3.1 Utiliser la classe HTMLTextWriter pour afficher 30
3.3.2 Sortie directe des balises HTML 32
3.3.3 Utilisation de RenderControl du contrôle serveur
Méthode 33
3.4 Méthode AddAttributesToRender 34
3.5 Méthode CreateChildControls 35
3.6 Interface INamingContainer 36
3.7 Mise en œuvre de contrôles composites 38
3.7.1 Méthode CreateChildControls 39
3.7.2 Attribut ChildControlsCreated 39
3.7.3 Méthode EnsureChildControls 39
3.7.4 Méthode RecreateChildControls 39
3.7.5 Propriété des contrôles 40
3.7.6 Méthode HasControls 40
3.7.7 Méthode HasEvents 40
3.7.8 Méthode FindControl 41
3.7.9 Exemple de mise en œuvre du contrôle composite 41
3.8 Compétences communes de développement 51
3.8.1 Attribut DesignMode 51
3.8.2 Propriétés de masquage dans les contrôles de classe de base 52
3.8.3 Propriété Page.Request.Browser 53
3.8.4 Définir la spécification de l'ID de contrôle 53
3.8.5 Améliorer la fonction FindControl 54
3.8.6 Mappage des valeurs de contrôle du serveur sur le client 55
3.8.7 Interdire aux contrôles dérivés de CompositeControl de créer des contrôles enfants 56
3.8.8 Remarques sur l'utilisation de CreateChildControls 56
3.8.9 Ne vous méprenez pas sur la méta-propriété de conception DefaultValue 57
3.8.10 Utilisation des ressources de la classe de base dans la méthode Render 57
3.8.11 Compilation conditionnelle et attributs conditionnels 60
3.9 Résumé de ce chapitre 61
Chapitre 4 Propriétés du contrôle du serveur 62
4.1 Le rôle des propriétés de contrôle 62
4.1.1 Propriétés du système 62
4.1.2 Attributs personnalisés 62
4.2 Attributs simples 63
4.3 Caractéristiques des propriétés au moment de la conception 64
4.4 Attributs complexes 67
4.4.1 Aperçu 67
4.4.2 Plusieurs formes de balisage d'attributs complexes 67
4.4.3 Etude approfondie - analyseur d'attributs complexes 79
4.5 Etude approfondie - personnalisez votre propre éditeur de propriétés 85
4.5.1 Éditeur de propriétés système 85
4.5.2 Editeur de propriétés personnalisées 91
4.6 Convertisseurs de types 126
4.6.1 Convertisseur de type de système 126
4.6.2 Personnalisation de votre propre convertisseur de type 128
4.7 Implémentation d'attributs personnalisés 138
4.8 Résumé de ce chapitre 145
Chapitre 5 Événements et mécanisme de publication de données 146
5.1 Aperçu des événements de contrôle et de la publication des données 146
5.1.1 Les événements et leur signification 146
5.1.2 Mécanisme de publication des données 147
5.2 Mise en œuvre du mécanisme de publication des événements et des données 148
5.2.1 Interface d'événement de retour client
IPostBackEventHandler 148
5.2.2 Divulgation des publications/rappels des clients 150
5.2.3 Interface de traitement des données de retour
IPostBackDataHandler 153
5.2.4 Gérer correctement les événements des contrôles hérités des classes de base 159
5.2.5 Étendre la fonction du contrôle KingTextBox (King
Contrôle TextBoxCanPostEvent) 161
5.3 Mécanisme de gestion des événements des contrôles composites 168
5.3.1 Objet de collecte d'événements à haute efficacité 168
5.3.2 Personnaliser vos propres classes de paramètres de délégué et d'événement 170
5.3.3 Gestion des événements des contrôles composites 175
5.3.4 Contrôle de la fonction de saisie semi-automatique
SearchControlIntelligent 185
5.4 Résumé de ce chapitre 193
Chapitre 6 Page Mécanisme étatique 194
6.1 Aperçu de l'état des pages 194
6.2 Afficher le mécanisme d'état 195
6.2.1 Interface IStateManager 195
6.2.2 Phases de chargement et de sauvegarde des vues dans le cycle de vie du contrôle 196
6.2.3 Application d'état d'affichage de type simple 197
6.2.4 Implémentation de l'état d'affichage du type personnalisé 205
6.3 Mécanisme d'état de contrôle 217
6.4 Relation entre l'état d'affichage et l'état de contrôle 221
6.4.1 Utilisation de l'état d'affichage même lorsque l'état d'affichage est désactivé
Objet ViewState 221
6.4.2 L'interface IStateManager peut toujours être utilisée dans l'état de contrôle 223
6.4.3 Règles pour l'utilisation combinée de l'état d'affichage et de l'état de contrôle 225
6.5 Statut de la page cryptée 225
6.6 Effacer l'état de la page 226
6.7 Afficher l'analyse de l'état des contrôles ajoutés dynamiquement 228
6.8 Convertisseur de type personnalisé pour obtenir une sérialisation efficace 231
6.9 Stratégie d'optimisation des performances de l'état des pages 238
6.9.1 Optimisation de l'emplacement de stockage - enregistrer les informations sur l'état d'affichage sur le serveur au lieu du client 238
6.9.2 Optimisation du volume—Compression des données d'état d'affichage 240
6.9.3 Stockage fragmenté des données d'état d'affichage 243
6.10 Résumé de l'état d'affichage et de l'état de contrôle 243
6.11 Résumé de ce chapitre 244
Chapitre 7 Personnalisation des styles de thème de contrôle personnalisé 245
7.1 Présentation des styles de contrôle 245
7.2 Prise en charge ASP.NET des styles 245
7.2.1 Principe de fonctionnement et utilisation de la classe Style 245
7.2.2 Fonctions de support de style de la classe de base WebControl et son principe de fonctionnement 249
7.2.3 La classe HTMLTextWriter prend en charge les styles de contrôle 252
7.2.4 Définir des règles d'attributs de style à l'intérieur du contrôle 253
7.2.5 Deux méthodes de conversion courantes 256
7.3 Exemples d'application 260
7.3.1 Style de contrôle composite et état d'affichage 260
7.3.2 Structure de contrôle et plan de séparation de style 268
7.4 Résumé de ce chapitre 295
Chapitre 8 Modèle de programmation du client de contrôle 297
8.1 Le contrôle côté serveur ASP.NET prend en charge le client 297
8.2 Explication détaillée des fonctions de la classe ClientScriptManager 301
8.2.1 Méthode RegisterArrayDeclaration 301
8.2.2 Méthode RegisterClientScriptBlock 302
8.2.3 Méthode RegisterClientScriptInclude 303
8.2.4 Méthode RegisterClientScriptResource 304
8.2.5 Méthode RegisterStartupScript 305
8.2.6 Méthode RegisterExpandoAttribute 305
8.2.7 Méthode RegisterHiddenField 306
8.2.8 Méthode GetCallbackEventReference 307
8.2.9 Méthode GetPostBackClientHyperlink 307
8.2.10 Méthode GetPostBackEventReference 308
8.2.11 Méthode GetWebResourceUrl 308
8.2.12 Méthode RegisterOnSubmitStatement 309
8.3 Rappel client 309
8.4 Exemple d'application de contrôle client 323
8.4.1 Encapsulation des objets client JS 323
8.4.2 Encapsulation des objets clients HTC 343
8.4.3 Exemple d'application de contrôle de signature en ligne 371
8.5 Quelques frameworks JavaScript couramment utilisés 385
8.6 Résumé de ce chapitre 387
Chapitre 9 Personnalisation des contrôles utilisateur 388
9.1 Présentation des contrôles utilisateur 388
9.1.1 Le rôle des contrôles utilisateurs 388
9.1.2 Comprendre System.Web.UI.UserControl
Classe de base 388
9.2 Exemples d'applications de contrôle utilisateur 389
9.2.1 Commandes utilisateur simples 389
9.2.2 Contrôles utilisateur de liaison de données complexes 394
9.3 Mise en cache du contrôle utilisateur 419
9.3.1 Introduction à la mise en cache ASP.NET 419
9.3.2 Mise en cache du contrôle utilisateur 420
9.4 Résumé de ce chapitre 421
Chapitre 10 Développement de contrôles de validation 422
10.1 Fonctionnement des contrôles de validation 422
10.1.1 Brève description du contrôle de validation intégré 422
10.1.2 Analyse du mécanisme de fonctionnement du contrôle de vérification 423
10.2 Implémentation de contrôles de validation personnalisés 443
10.3 Résumé de ce chapitre 451
Chapitre 11 Utilisation des ressources intégrées dans les contrôles 452
11.1 Principes d'intégration des ressources dans les contrôles 452
11.2 Application des ressources intégrées dans les contrôles 453
11.2.1 Utilisation des ressources embarquées dans les contrôles 453
11.2.2 Types de ressources intégrées courantes et utilisation 455
11.3 Outils de navigation courants 460
11.3.1 HTTPWatch 460
11.3.2 Barre d'outils du développeur IE 461
11.3.3 Violon 461
11.4 Résumé de ce chapitre 462
Chapitre 12 Développement de contrôles de liaison de données de modèle 463
12.1 Mécanisme de contrôle des attributs du modèle ASP.NET 463
12.1.1 Introduction aux attributs du modèle 463
12.1.2 Prise en charge d'ASP.NET pour les contrôles de modèle 464
12.1.3 Analyse du mécanisme de mise en œuvre du modèle de contrôle du répéteur 466
12.2 Exemple d'application de contrôle personnalisé 469
12.2.1 Fonction de contrôle de modèle 469
12.2.2 Exemples d'application 470
12.3 Résumé de ce chapitre 489
Chapitre 13 Liaison de données et contrôles de source de données 490
13.1 Contrôles liés aux données 490
13.1.1 Présentation des contrôles liés aux données 490
13.1.2 Prise en charge par ASP.NET des contrôles liés aux données 491
13.2 Exemple d'application de contrôle de liaison de données 501
13.2.1 Fonction de mise en œuvre du contrôle 501
13.2.2 Exemples d'application 502
13.3 Contrôle des sources de données 508
13.3.1 Présentation des contrôles des sources de données 508
13.3.2 Prise en charge d'ASP.NET pour les contrôles de source de données 508
13.4 Exemple d'application de contrôle de source de données 515
13.4.1 Fonction de mise en œuvre du contrôle 515
13.4.2 Exemples d'application 516
13.5 Résumé de ce chapitre 522
Chapitre 14 Solution de contrôle étendu——GridView 523
14.1 Aperçu des commandes étendues 523
14.2 Personnaliser plusieurs en-têtes GridView 523
14.2.1 Aperçu des fonctions 523
14.2.2 Mise en œuvre du code 524
14.3 Correction de l'en-tête GridView et ajout de la prise en charge de la barre de défilement 527
14.3.1 Aperçu des fonctions 527
14.3.2 Mise en œuvre du code 528
14.4 Résumé de ce chapitre 533
Chapitre 15 Résumé de la programmation en mode de conception de contrôle personnalisé 534
15.1 .NET Framework prend en charge la phase de conception 534
15.2 Prise en charge des métadonnées au moment de la conception 535
15.3 Sérialisation d'attributs complexes 539
15.4 Convertisseurs de types 539
15.5 Editeur de propriétés 540
15.6 Introduction aux classes de base disponibles dans les modèles de conception 541
15.7 Prise en charge au moment de la conception pour le rendu des contrôles 543
15.7.1 Aperçu 543
15.7.2 Exemples d'application 543
15.8 Formatage automatique 546
15.8.1 Aperçu 546
15.8.2 Exemples d'application 547
15.9 Concepteur d'interface utilisateur de modèles 551
15.10 Liste des opérations intelligentes 552
15.10.1 Aperçu 552
15.10.2 Exemples d'application 552
15.11 Zone du concepteur de contrôle 558
15.11.1 Aperçu 558
15.11.2 Exemples d'application 558
15.12 Résumé de ce chapitre 562
Chapitre 16 Développement de contrôles ASP.NET Ajax——
Cliente 563
16.1 Présentation du framework ASP.NET Ajax 563
16.2 La bibliothèque Ajax prend en charge les fonctions orientées objet côté client 564
16.2.1 Classes d'espace de noms et de type et fonction 565
16.2.2 Type d'interface 568
16.2.3 Types de classes et fonctionnalités d'héritage orienté objet 569
16.2.4 Types d'énumération 570
16.2.4 Fonction réflexion 570
16.3 Types courants dans la bibliothèque Ajax 571
16.3.1 Extension de la bibliothèque Ajax aux types de base JavaScript 571
16.3.2 Classe Sys.StringBuilder 576
16.4 La bibliothèque Ajax demande au serveur et
Services Web 577
16.4.1 Classes dans l'espace de noms Sys.NET 577
16.4.2 Analyse du processus de demande 578
16.4.3 Exemple de requête WebRequest 579
16.4.4 Utilisation d'un proxy pour implémenter un serveur d'appels Ajax, exemple 581
16.5 La bibliothèque Ajax prend en charge le développement de classes de clients de contrôle 584
16.5.1 Membres de la base de contrôle client (classe/interface) 584
16.5.2 Cycle de vie du client de contrôle ASP.NET Ajax 589
16.6 Exemple d'application de contrôle client 592
16.7 Débogage et traçage603
16.8 Résumé de ce chapitre 605
Chapitre 17 Développement de contrôles ASP.NET Ajax——
Serveur 606
17.1 Présentation des contrôles du serveur ASP.NET Ajax 606
17.2 Contrôle du serveur Ajax 607
17.2.1 Contrôle du serveur Ajax 607
17.2.2 Contrôle d'extension ASP.NET Ajax 612
17.3 Classe de base ASP.NET Ajax pour la prise en charge du contrôle serveur 612
17.3.1 Classes de base prises en charge par les contrôles Ajax 612
17.3.2 Exemple d'application de contrôle Ajax 623
17.4 Résumé de ce chapitre 636
Annexe A Série de didacticiels techniques .NET 3.5——
Collection/ASP.NET Ajax/SilverLight/JQuery 646
Développer