2009-06-05 5 views
6

J'utilise GridViews assez souvent et parfois je suis confus à l'endroit où mettre un certain code. Quelle est la séquence dans laquelle les événements sont déclenchés, y compris tous les événements de page? J'essaie vraiment de comprendre ce qui se passe entre la page et le Gridview. Est-ce que les événements se croisent? Ou est-ce que tous les événements de page se produisent à la fois, alors tous les événements Gridview se produisent? Et pas seulement GridViews, aucun contrôle - mais surtout la page et l'interaction GridView.Quelle est la séquence d'événements qui se déclenche dans le contrôle Gridview d'asp.net?

+0

Vraiment, essayez d'ajouter un System.Diagnostics.Debug.Writeline pour chaque événement comme dans ma réponse. Ajouter un gridview à la page au moment du design, mais vraiment aussi essayer d'en ajouter un au cours de Page_PreRender. Cela vous donnera vraiment une bonne idée de ce qui se passe ... – Ropstah

Répondre

3
protected void GridView1_Load(object sender, EventArgs e) 
{ 
    System.Diagnostics.Debug.WriteLine("GridView1_Load"); 
} 
protected void GridView1_DataBinding(object sender, EventArgs e) 
{ 
    System.Diagnostics.Debug.WriteLine("GridView1_DataBinding"); 
} 
protected void GridView1_DataBound(object sender, EventArgs e) 
{ 
    System.Diagnostics.Debug.WriteLine("GridView1_DataBound"); 
} 
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    System.Diagnostics.Debug.WriteLine("GridView1_RowDataBound"); 
} 
+0

Cela sera utile pour les autres classes que vous rencontrerez. Le faire de cette façon est la seule façon que vous pouvez être sûr que les événements se déclenchent. Microsoft - peut-il le dire - mais comment le SAVIEZ-VOUS à coup sûr? lol – Ropstah

7

Si vous êtes à la page se référant du cycle de vie, vous pouvez trouver un aperçu here.

Résumé du cycle de vie est:

page Demande

La demande de page se produit avant que le cycle de vie de la page commence. Lorsque la page est demandée par un utilisateur, ASP.NET détermine si la page doit être analysée et compilée (commençant ainsi la vie d'une page), ou si une version mise en cache de la page peut être envoyée en réponse sans exécuter la page.

Début

Dans l'étape de démarrage, propriétés de la page telles que demande et la réponse sont réglées. À ce stade, la page détermine également si la requête est une publication ou une nouvelle demande et définit la propriété IsPostBack. En outre, au cours de l'étape de démarrage, la propriété UICulture de la page est définie.

page initialisation

Lors de l'initialisation de la page, les contrôles sur la page sont disponibles et la propriété UniqueID de chaque commande est réglé. Tous les thèmes sont également appliqués à la page. Si la demande en cours est une publication, les données de publication n'ont pas encore été chargées et les valeurs de propriété de contrôle n'ont pas été restaurées sur les valeurs de l'état d'affichage.

Charge

Au cours de la charge, si la demande actuelle est une publication, les propriétés de contrôle sont chargés avec des informations récupérées à partir de l'état d'affichage et du contrôle étatique.

Validation

Lors de la validation, la méthode Validation de tous les contrôles de validateur est appelée, qui définit la propriété IsValid des contrôles individuels validateur et de la page.

événement Postback manipulation

Si la demande est une publication, les gestionnaires d'événements sont appelés.

rendu

Avant de rendre, l'état d'affichage est enregistré pour la page et tous les contrôles. Pendant la phase de rendu, la page appelle la méthode Render pour chaque contrôle, fournissant un éditeur de texte qui écrit sa sortie dans le OutputStream de la propriété Response de la page.

Décharger

Décharger est appelée après que la page a été entièrement rendu, envoyé au client, et est prêt à être mis au rebut. À ce stade, les propriétés de page telles que Response et Request sont déchargées et tout nettoyage est effectué. Comme pour les événements GridView, ils peuvent être trouvés here

Questions connexes