2008-10-13 8 views
1

J'ai une page ASP.net dans ma page, je l'ai comme mon code derrière les fichiers. lors du premier accès à la page, la page preinit, init, les méthodes de chargement sont appelées. sur les publications les méthodes preinit, init, load sont appelées.Cycle de vie de la page ASP.net

Ma question est des événements d'état LoadViewState et de contrôle (méthodes redéfinies) ne sont pas mise à feu après postbacks aussi

protected override void OnPreInit(EventArgs e) 
{ 
    base.OnPreInit(e); 
} 
protected override void LoadViewState(object savedState) 
{ 

    base.LoadViewState(savedState); 

} 

protected override void LoadControlState(object savedState) 
{ 
    base.LoadControlState(savedState); 
} 
protected void Page_Init(object sender, EventArgs e) 
{ 

} 
protected void Page_Load(object sender, EventArgs e) 
{ 
    // lblName.Text = ViewState["Test"].ToString(); 
} 

Répondre

3

Cette méthode est utilisée principalement par l'infrastructure .NET Framework et est pas destiné à être utilisé directement à partir de votre code. Cependant, les développeurs de contrôle peuvent remplacer cette méthode pour spécifier comment un contrôle serveur personnalisé restaure son état d'affichage. Pour plus d'informations, voir , voir Vue d'ensemble de la gestion des états ASP.NET.

La méthode LoadViewState restaure les informations d'état d'affichage qui a été enregistré lors d'une SaveViewState demande précédente. La classe WebControl remplace la méthode de base LoadViewState pour gérer les propriétés ViewState, Style, et Attributes.

Notez également

État contrôle Parfois, vous devez stocker des données étatiques de contrôle afin de un contrôle pour fonctionner correctement. Pour exemple, si vous avez écrit une coutume contrôle qui a des onglets afficher des informations différentes, afin pour que le contrôle de fonctionner comme prévu, le contrôle a besoin de savoir quel onglet est sélectionné entre les allers-retours. La propriété ViewState peut être utilisé pour cette fin, mais état d'affichage peut être désactivée à un niveau de la page par développeurs, votre contrôle efficace briser . Pour résoudre ce problème, le cadre de page ASP.NET expose une fonctionnalité dans ASP.NET appelé État de contrôle .

La propriété ControlState vous permet de conserver des informations sur la propriété que est spécifique à un contrôle et ne peut pas être désactivée comme la propriété ViewState .

Asp.Net StateManagement link

Si votre commande est un contrôle serveur client jeter un oeil à

iStateManager

Et pour la liste complète des viewstate - devaient rechercher mes favoris essayer

Truly understanding viewstate

3

ASP.NET optimise cet appel et appelle LoadViewState uniquement s'il y a des données personnalisées écrites dans l'état d'affichage.

Si vous définissez quelque chose à l'état d'affichage dans le premier appel (par exemple ViewState ["foo"] = 42;), le LoadViewState sera appelé dans les rappels suivants (et suivants).

Questions connexes