À l'aide de Page_Load et Page_PreRender dans ASP.Net
Je vois certaines personnes utilisent Page_Load et Page_PreRender dans la même page aspx. Puis-je savoir exactement pourquoi avons-nous besoin d'invoquer les deux méthodes en même asp.net la page?
Veuillez voir le code ci-dessous,
protected void Page_Load(object sender, EventArgs e)
{
try
{
dprPager.ButtonClickPager += new EventHandler(dprPager_ButtonClickPager);
if (!Page.IsPostBack)
{
InitPager();
}
}
catch (Exception ex)
{
}
}
protected void Page_PreRender(object sender, EventArgs e)
{
erMsg.Visible = !string.IsNullOrEmpty(lblError.Text);
}
- Vous n'avez pas besoin d'utiliser les deux, est-il un exemple précis de ce que vous rencontrez des difficultés de compréhension?
Page_Load
est appelé en premier, et plus tard surPage_PreRender
sera appelée. - Veuillez vérifier que j'ai ajouté le code.
- Je suis en train de déterminer si une publication a été causé par le bouton "ajouter" serveur de contrôle ou par une actualisation de la page afin que je puisse arrêter un enregistrement doit être insérée dans mon asp:GridView lors de l'actualisation de la page. Mais je ne trouve pas la Page pré-rendu de l'événement après regarde ici: aspalliance.com/... je ne suis malheureusement avoir à poster ici que S. O a arrêté mon poser de nouvelles questions 🙁
Vous devez vous connecter pour publier un commentaire.
Cela dépend de vos exigences.
De Chargement de la Page : Effectuer des actions communes à toutes les demandes, telles que la création d'une requête de base de données. À ce stade, les contrôles serveur dans l'arborescence sont créés et initialisés, la restauration de l'état, et les contrôles de formulaire de refléter les données côté client. Voir Gestion Des Évènements Hérités.
Pré-rendu :Effectuer toutes les mises à jour avant la sortie est rendu. Toutes les modifications apportées à l'état de la commande dans la phase de pré-rendu peut être sauvé, alors que les changements effectués dans la phase de rendu sont perdus. Voir Gestion Des Évènements Hérités.
Référence: le Contrôle de l'Exécution du Cycle de vie MSDN
Essayez de lire à propos de
ASP.NET Page vue d'ensemble du Cycle de Vie ASP.NET
Le Contrôle De L'Exécution Du Cycle De Vie
Ce qui concerne
La différence majeure entre
Page_Load
etPage_PreRender
est que dans la méthode Page_Load de la totalité de votre page contrôles sont complètement initialisé (chargé), car les contrôlesLoad()
méthodes n'a pas encore été suivie. Cela signifie que l'arbre n'est pas prêt pour un rendu encore. DansPage_PreRender
vous garanti que tous les contrôles de la page est chargé et prêt pour le rendu. TechniquementPage_PreRender
est votre dernière chance pour ajuster la page avant qu'elle se transforme en flux HTML.Page_Load qui se passe après ViewState et PostData est envoyé dans tous de votre côté serveur contrôles par ASP.NET les contrôles en cours de création sur la page. Page_Init est l'événement déclenché avant le ViewState et PostData être réintégré. Page_Load est l'endroit où vous le faites normalement n'importe quelle page de large initilization. Page_PreRender est le dernier événement que vous avez une chance de traiter avant la page de l'état en cours de rendu en HTML. Page_Load
est le plus typique de l'événement de travailler avec.
Bien une grande exigence de mettre en œuvre des pré-rendu, par opposition à Charge est la nécessité de travailler avec les contrôles de la page. Sur Page_Load, les contrôles ne sont pas rendus et ne peuvent donc pas être référencé.
Le traitement de la ASP.NET web-forme prend place dans étapes. À chaque état de divers
events
sont soulevées. Si vous êtes intéressé pour brancher votre code dans leprocessing flow
(côté serveur), alors vous devez gérer la page de l'événement.Le point principal de l'différences comme l'a souligné @BizApps est que la Charge de l'événement qui se passe à droite après le ViewState est rempli alors que les pré-rendu de l'événement qui se produit plus tard, juste avant la phase de Rendu, et après tous les enfants individuels de contrôle de l'action des gestionnaires d'événements sont déjà en cours d'exécution.
Par conséquent, toutes les modifications faites par les contrôles des actions de gestionnaire d'événement doit être mis à jour dans la hiérarchie de contrôle au cours de pré-rendu, comme il arrive après.