TypeMismatch


Ora e Data
Sondaggio
Che sistema operativo utilizzate per lo sviluppo?

Windows 2008 Server
Windows 2003 Server
Windows XP Professional
Windows 2000

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.
Categoria: Asp.Net
mercoledì, 18 mar 2009 Ore. 11.23
Calendario
giugno 2024
lmmgvsd
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567
Statistiche
  • Views Home Page: 20.538
  • Views Posts: 22.584
  • Views Gallerie: 2.599
  • n° Posts: 18
  • n° Commenti: 0
Archivio Posts
Anno 2009

Anno 2007
Mappa
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003