|
Ciclo di vita di una pagina Asp.net
Per uno sviluppatore Asp.net la comprensione del ciclo di vita di una pagina è molto importante, soprattutto quando si devono implementare metodi particolari o cambiare proprietà alla pagina stessa. Ricordarsi cosa e quando succede durante il ciclio di vita di una pagina può essere difficile da ricordare. Spesso il codice che abbiamo scritto funziona ma è solamente nel posto sbagliato. I vari passi del ciclo di vita sono:
Page Request Start Page Initialization Load Validation Postback event handling Rendering Unload
Esiste un acronimo per ricordarsi più facilmente il ciclo di vita:
S – Start S I – Initialize I L – Load L V – Validate V E – Event Handling E R – Render R
Per capire ancora meglio il ciclo di vita è giusto spendere ancora due parole sui singoli eventi.
Start
In questo evento vengono impostate alcune proprietà come Request, Response, IsPostBack e UICulture. Per intercettare questo evento bisogna usare il metodo PreInit. In questo evento è possibile impostare una masterpage, il tema della pagina o creare controlli. In questa fase i valori dei controlli non sono stati ancora impostati dai valori del ViewState, quindi se si cambia un valore in questa fase è possibile che dopo venga sovrascritto.
Initialize
Questo evento viene scatenato dopo che i temi sono stati applicati e gli id dei controlli sono stati impostati. Microsoft raccomanda di utilizzare i seguenti metodi:
Init - Questo evento è scatenato dopo che la skin è stata applicata. Usare questo metodo per leggere o inizializzare le proprietà dei controlli.
InitComplete - Questo evento è scatenato dall'oggetto Page. Utilizzare questo evento per la trasformazione di tutti i compiti che richiedono l'inizializzazione è completata.
PreLoad - Utilizzare questo evento se bisogna effettuare dei controlli o delle trasformazioni sulla pagina prima che venga caricata.
Load
Questa fase di solito è quella più utilizzata. Qui vengono caricate le informazioni ricavate dal viewstate, si possono impostare le proprietà di tutti i controlli e si possono stabilire connessioni al database.
Validation
Se ci sono controlli che richiedono la validazione, viene scatenato questo evento ed è possibile controllare la proprietà IsValid del controllo.
Event Handling
In questa fase vengono invocati gli eventi dei controlli server (Click, SelectedIndexChanged, ecc.) Gli eventi piuù utilizzati sono:
LoadComplete - viene invocato quando tutti i controlli sono stati caricati.
PreRender - viene invocato per ogni controllo presente sulla pagina. Alla fine viene salvato il ViewState della pagina e di tutti i controlli.
SaveStateComplete - viene invocato quando il ViewState è stato salvato.
Render
Questo evento viene chiamato per ogni controllo presente nella pagina. Scrive il markup HTML del controllo per il browser. Può essere utile quando si creano controlli personalizzati.
Unload
Questo evento viene generato per ogni controllo e infine per la pagina. Spesso viene utilizzato per chiudere connessioni al database, file aperti o in per statistiche.
Metodi
I seguenti metodi sono chiamati durante il ciclo di vita di una pagina Asp.net:
1. Construct 2. ProcessRequest 3. FrameworkInitialize 4. InitializeCulture 5. Se sono presenti ChildControl: 1. AddParsedSubObject 2. CreateControlCollection 3. AddedControl 4. ResolveAdapter 6. DeterminePostBackMode 7. OnPreInit 8. OnInit 9. TrackViewState 10. OnInitComplete 11. OnPreLoad 12. OnLoad 13. OnLoadComplete 14. EnsureChildControls 1. CreateChildControls 15. OnPreRender 16. OnPreRenderComplete 17. SaveViewState 18. OnSaveStateComplete 19. CreateHtmlTextWriter 20. RenderControl 21. Render 1. RenderChildren 2. VerifyRenderingInServerForm 22. OnUnload 23. Dispose
Per testare questi singoli metodi basta creare una pagina Asp.net e fare un overload di ogni singolo metodo.
mercoledì, 18 mar 2009 Ore. 11.23
|
Calendario |
| l | m | m | g | v | s | d |
---|
30 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|
Statistiche |
- Views Home Page: 21.042
- Views Posts: 23.043
- Views Gallerie: 2.676
- n° Posts: 18
- n° Commenti: 0
|
Archivio Posts |
Anno 2009
Anno 2007
|
|