Cet article vous présente principalement les informations pertinentes sur le cycle de vie de WebForm dans Asp.Net. L'article présente une galaxie qui a une certaine valeur de référence et d'apprentissage pour tous les amis qui en ont besoin peuvent suivre l'éditeur pour apprendre ensemble. . Bar.
Avant-propos
Cet article vous présente principalement le contenu pertinent sur le cycle de vie du WebForm dans Asp.Net et le partage pour votre référence et étudions , jetons un œil à l'introduction détaillée :
1. Le concept du cycle de vie des pages Asp.Net
Lorsque nous entrons l'URL dans la barre d'adresse du navigateur et appuyons sur Entrée pour afficher la page, une demande de requête sera envoyée au côté serveur IIS). Le serveur déterminera la page demandée envoyée. Lorsque la classe du gestionnaire de page TTP est entièrement reconnue, le runtime ASP.NET appellera la méthode ProcessRequest du gestionnaire pour traiter la demande et créer l'objet de page. Normalement, il n’est pas nécessaire de modifier l’implémentation de cette méthode car elle est fournie par la classe Page. La méthode ProcessRequest de l'objet page créé suivant fait passer la page à travers différentes étapes : initialisation, chargement des informations sur l'état d'affichage et des données de publication, chargement du code utilisateur pour la page et exécution des événements de publication côté serveur. Ensuite, la page passe en mode d'affichage : l'état d'affichage mis à jour est collecté, le code HTML est généré puis envoyé à la console de sortie. Enfin, la page est déchargée et la demande est considérée comme terminée. Le traitement de cette série d'événements complété par la méthode ProcessRequest de l'objet page est le cycle de vie de la page Asp.Net.
2. Pourquoi vous devez comprendre le cycle de vie des pages Asp.Net
Parce que comprendre le cycle de vie des pages Asp.Net peut aider les développeurs dans la vie Écrivez le programme à l'étape appropriée du cycle pour obtenir l'effet souhaité. De plus, si vous souhaitez développer vous-même un contrôle personnalisé, vous devez connaître le cycle de vie de la page afin d'initialiser correctement le contrôle, remplissez les propriétés du contrôle avec les données d’état d’affichage et exécutez n’importe quel code de comportement de contrôle. En d’autres termes, ce n’est que si vous êtes familier avec une série d’événements depuis la création jusqu’à la désinstallation finale que le développement se fera en douceur et que vous ne vous sentirez pas confus.
3. Étapes du cycle de vie
1. Page de demande : la demande de page se produit avant le début du cycle de vie de la page.
2. Début : dans la phase de démarrage, les propriétés de la page telles que la demande et la réponse seront définies. À ce stade, la page détermine également si la demande est une demande de publication ou une nouvelle demande, et définit la propriété IsPostBack.
3. Page d'initialisation : lors de l'initialisation de la page, vous pouvez utiliser les contrôles de la page et l'attribut UniqueID de chaque contrôle sera défini. Si la requête actuelle est une requête de publication, les données de publication n'ont pas encore été chargées et les valeurs des propriétés de contrôle n'ont pas encore été restaurées aux valeurs dans l'état d'affichage.
4. Chargement de la page : Lors du chargement, si la requête en cours est une requête de publication, les propriétés du contrôle seront chargées en utilisant les informations récupérées de l'état d'affichage et de l'état de contrôle.
5. Validation : lors de la validation, la méthode Validate de tous les contrôles du validateur sera appelée. Cette méthode définira la propriété IsValid de chaque contrôle et page du validateur.
6. Traitement des événements de publication : si la demande est une demande de publication, tous les gestionnaires d'événements seront appelés.
7. Rendre la page : lors du rendu de la page, l'état d'affichage sera enregistré sur la page, puis la page appellera chaque contrôle pour fournir sa sortie rendue au OutputStream de la propriété Response de la page.
8. Décharger la page : Le déchargement sera appelé lorsque la page sera entièrement rendue, envoyée au client et prête à être supprimée. À ce stade, les propriétés de page telles que Réponse et Demande sont déchargées et le nettoyage est effectué.
4. Événements du cycle de vie
1.PreInit
Utilisez cet événement pour exécuter The. actions suivantes :
Vérifiez la propriété IsPostBack pour déterminer si c'est la première fois que la page est traitée.
Créez ou recréez des contrôles dynamiques.
Définissez dynamiquement la page de contrôle principale.
Définissez dynamiquement l'attribut Thème.
Lire ou définir la valeur de l'attribut du fichier de configuration.
Remarque :
Si la demande est une demande de publication, la valeur du contrôle n'a pas été restaurée à partir de l'état d'affichage. Si une propriété de contrôle est définie à ce stade, sa valeur peut être remplacée lors du prochain événement.
2. Init
est déclenché une fois que tous les contrôles ont été initialisés et que tous les paramètres d'apparence ont été appliqués. Utilisez cet événement pour lire ou initialiser les propriétés du contrôle.
3. InitComplete
est déclenché par l'objet Page. Utilisez cet événement pour gérer les tâches qui nécessitent que tous les travaux d'initialisation soient terminés en premier.
4. PreLoad
Si vous devez effectuer un traitement sur la page ou le contrôle avant l'événement Load, veuillez utiliser cet événement.
Une fois que Page a déclenché cet événement, il charge l'état d'affichage pour lui-même et tous les contrôles, puis gère toutes les données de publication incluses avec l'instance de requête.
5. Charger
Page appelle la méthode événementielle OnLoad sur la page, puis effectue de manière récursive la même opération sur chaque contrôle enfant, et ainsi de suite, jusqu'à ce que la page et tous les contrôles soient chargés.
Utilisez la méthode événementielle OnLoad pour définir les propriétés du contrôle et établir une connexion à la base de données
6. Événements de contrôle
Utilisez ces événements pour gérer des événements spécifiques. événements de contrôle, tels que l'événement Click du contrôle Button ou l'événement TextChanged du contrôle TextBox.
Remarque :
Dans les demandes de publication, si la page contient des contrôles de validation, vérifiez la page et les validations individuelles avant d'effectuer tout traitement. IsValid du contrôle propriété.
7. LoadComplete
Utilisez cet événement pour les tâches qui nécessitent le chargement de tous les autres contrôles de la page.
8. PreRender
Avant que cet événement ne se produise :
L'objet Page assureraChildControls pour chaque contrôle et chaque page.
La méthode DataBind est appelée pour chaque contrôle lié aux données dont la propriété DataSourceID est définie. Pour plus d’informations, consultez Événements liés aux données pour les contrôles liés aux données ci-dessous.
L'événement PreRender se produit pour chaque contrôle de la page. Utilisez cet événement pour apporter les modifications finales au contenu de la page ou à ses contrôles.
9. SaveStateComplete
Avant que cet événement ne se produise, ViewState a été enregistré pour la page et tous les contrôles. Toute modification apportée à la page ou aux contrôles à ce moment sera ignorée.
Utilisez cet événement pour effectuer des tâches qui nécessitent que l'état d'affichage ait été enregistré mais qu'aucune modification n'ait été apportée au contrôle.
10. Render
Ce n'est pas un événement à ce stade du traitement, l'objet Page appelle cette méthode sur chaque contrôle. Tous les contrôles du serveur Web ASP.NET disposent d'une méthode Render qui écrit le balisage de contrôle envoyé au navigateur.
Si vous créez un contrôle personnalisé, vous remplacez généralement cette méthode pour afficher le balisage du contrôle. Toutefois, si votre contrôle personnalisé intègre uniquement des contrôles de serveur Web ASP.NET standard et non des balises personnalisées, vous n'avez pas besoin de remplacer la méthode Render. Pour plus d’informations, consultez Développement de contrôles serveur ASP.NET personnalisés.
Les contrôles utilisateur (fichiers .ascx) sont automatiquement fusionnés pour le rendu, il n'est donc pas nécessaire de restituer explicitement le contrôle dans le code.
11. Décharger
Cet événement se produit d'abord pour chaque contrôle, puis pour la page. Dans un contrôle, utilisez cet événement pour effectuer le nettoyage final sur un contrôle spécifique, par exemple en fermant une connexion à une base de données spécifique au contrôle.
Pour la page elle-même, utilisez cet événement pour effectuer le travail de nettoyage final, comme la fermeture des fichiers ouverts et des connexions à la base de données, ou l'achèvement de la journalisation ou d'autres tâches spécifiques à une requête.
Remarque
Pendant la phase de déchargement, la page et ses contrôles ont déjà été rendus, aucune autre modification ne peut donc être apportée à la réponse couler. Si vous essayez d'appeler une méthode (telle que la méthode Response.Write), la page lèvera une exception.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!