2010-08-16 9 views
4

J'ai crétisé mon propre contrôle serveur (une liste déroulante) et donc mes propres méthodes LoadViewState et SaveViewState. Quand le LoadViewState est-il appelé? J'ai ajouté le contrôle à ma page et regardé quand les méthodes sont appelées. Seul le SaveViewState est appelé lorsque la page est demandée, LoadViewState ne l'est pas. Dois-je l'appeler manuellement?LoadViewState et SaveViewstate?

Merci :)

Répondre

0

Après Init, mais avant la charge. LoadViewState ne s'exécute pas sur le chargement de la page initiale, mais les chargements de page suivants. Pas besoin de quand aucun état n'existe. Non, vous n'avez pas besoin d'appeler manuellement. Vous avez juste besoin de vous soucier des données que vous voulez sauvegarder, et de recharger ces données pendant la phase de chargement.

+0

Je ne comprends pas ... donc je n'appelle jamais LoadViewState? – grady

+2

Non, le cadre ASP.NET fait; vous ne vous souciez que de la partie chargement et sauvegarde; il détermine le bon moment pour l'appeler. –

4

Le diagramme sur le cycle de vie de la page ASP.NET sur le this MSDN page est une excellente référence pour avoir ce type de questions à portée de main (il est imprimé et collé sur mon mur cube en ce moment).

Comme vous le verrez sur le diagramme, LoadViewState pour un contrôle est appelé après l'initialisation de la page, et avant le chargement préalable de la page; il est appelé uniquement sur la publication, pas sur le chargement initial de la page.

Un SaveViewState d'un contrôle est appelé après le PreRenderComplete de la page, mais avant le rendu réel.