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