2009-07-27 24 views
7

Sono molto nuovo ad ASP.NET e, dopo aver battuto la testa su a few problems, mi chiedo se sto facendo le cose sbagliate (ho la brutta abitudine di farlo). Mi interessa sapere come funziona ASP.NET.Dove dovrebbero essere fatti gli oggetti in una pagina ASP.NET?

La mia domanda è: dove posso trovare la documentazione per guidarmi nel decidere dove fare quale elaborazione?

Come alcuni esempi specifici (Mi interessa risposte a questi, ma io preferirei essere puntato verso una risorsa che dà risposte più generali):

  • Cosa elaborazione devo fare in Page_Load?
  • Quale elaborazione devo fare con l'evento Load?
  • Cosa può faccio in Page_Unload?
  • In che ordine vengono eseguite le operazioni?
  • Quando viene attivato ogni evento?
  • Qual è il ciclo di vita della pagina?

edit: this question potrebbe anche essere utile per alcune persone.

+2

Il ciclo di vita della pagina ASP.Net rivendica un'altra vittima. – womp

+0

Cosa? Sono ora destinato a diventare dipendente o qualcosa del genere? '' – BCS

+0

No, solo non produttivo. :-) –

risposta

4

Qui ci sono alcuni buoni collegamenti per iniziare. Capire come come il ciclo di vita di ASP.NET combaci è fondamentale per capire come il vostro codice interagirà con esso.

ASP.NET Page Life Cycle Overview:

Quando una pagina ASP.NET viene eseguito, la pagina passa attraverso un ciclo di vita in cui si esegue una serie di fasi di lavorazione. Includono l'inizializzazione, , controllo di istanziazione, ripristino e stato di mantenimento , codice di esecuzione evento e rendering. È importante che comprenda il ciclo di vita della pagina in modo che sia possibile scrivere il codice nella fase di ciclo appropriato per l'effetto desiderato. Inoltre, se si sviluppano personalizzati controlli, è necessario avere familiarità con pagina ciclo di vita, al fine di correttamente inizializzare i controlli, le proprietà di controllo compilato con dati dello stato di visualizzazione, ed eseguire qualsiasi codice di comportamento di controllo . (Il ciclo di vita di un controllo si basa sul ciclo di durata pagina , ma la pagina genera più eventi per un controllo di quelli disponibili per una pagina ASP.NET da solo.)

The ASP.NET Page Life Cycle:

Quando una richiesta di pagina viene inviata al server Web , sia per mezzo di una sottomissione o cambiare posizione, la pagina viene eseguito attraverso una serie di eventi durante la sua creazione e smaltimento. Quando proviamo a creare pagine ASP.NET e questo ciclo di esecuzione non viene preso in considerazione, noi possiamo causare un sacco di mal di testa per noi stessi. Tuttavia, se utilizzato e manipolato correttamente, il ciclo di esecuzione di di una pagina può essere uno strumento efficace e potente. Molti sviluppatori sono rendendosi conto che capendo cosa succede e quando succede è fondamentale per scrivere in modo efficace le pagine ASP.NET o controlli utente. Quindi esaminiamo nel dettaglio i dieci eventi di una pagina ASP.NET , dalla creazione allo smaltimento. Noi vedremo anche come sfruttare questi eventi per impiantare il nostro codice personalizzato.

+0

Entrambi i link sembrano utili. Grazie. – BCS

5

La prima cosa che devi imparare per essere in grado di capire le domande che hai appena posto è: PAGE LIFE CYCLE. A volte è una cagna, specialmente la parte ViewState.

• Quale elaborazione devo eseguire in Page_Load?

• Quale elaborazione devo fare con l'evento Load? = Page_load

• Che cosa posso fare in Page_Unload? Pulizia

• In quale ordine vengono eseguite le operazioni? CICLO DI VITA PAGINA

• Quando viene attivato ogni evento? CICLO DI VITA PAGINA

• Qual è il ciclo di vita della pagina? alt text http://www.eggheadcafe.com/articles/o_aspNet_Page_LifeCycle.jpg

Edit: fonte Image: http://www.eggheadcafe.com/articles/20051227.asp

Maggiori informazioni: http://www.codeproject.com/KB/aspnet/PageLifeCycle.aspx

+0

Hai un link a dove è venuta quell'immagine? Non sarà molto buono senza alcune spiegazioni. – BCS

+1

Non è tanto di una cagna come collegare i gestori di eventi agli oggetti creati dinamicamente;) – BenAlabaster

+0

Sfortunatamente, quel collegamento non fornisce molto contesto. – BCS

5

I link pubblicati da varie persone sono davvero molto disponibile - il ciclo di ASP.NET pagina di vita non è in realtà sempre facile mastodate e padroneggiate!

Sulla pepita di consigli - raccomanderei preferendo i metodi sovrascritti rispetto ai metodi "magicamente" allegati, ad es. preferire la

protected override void OnLoad(EventArgs e) 

il

protected void Page_Load(object sender, EventArgs e) 

Perché?Semplice: nei metodi override, è possibile specificare se stessi se e quando il metodo di base sarà chiamato:

protected override void OnLoad(EventArgs e) 
{ 
    base.OnLoad(e); 
    // your stuff 
} 

o:

protected override void OnLoad(EventArgs e) 
{ 
    // your stuff 
    base.OnLoad(e); 
} 

o anche:

protected override void OnLoad(EventArgs e) 
{ 
    // some of your stuff 
    base.OnLoad(e); 
    // the rest of your stuff 
} 

o anche:

protected override void OnLoad(EventArgs e) 
{ 
    // your stuff 
    // not call the base.OnLoad at all 
} 

Non hai quella flessibilità nella versione Page_Load().

Marc

2

Consiglio vivamente voi leggendo questo:

http://www.west-wind.com/presentations/howaspnetworks/howaspnetworks.asp

Se sei nuovo a ASP.NET avrete qualche difficoltà a trovare tutto questo, ma in realtà, io devono ancora trovare un documento così dettagliato sull'argomento proveniente dalla documentazione di ms o da qualsiasi blog dipendente di ms.

L'ho fatto nel modo più duro e ho seguito ogni percorso possibile utilizzando un codice smontato, ma quel ragazzo ha avuto davvero il tempo di scriverlo.

+0

Che bella lettura e vale il tempo. +1 Tuttavia, si ferma appena al di sotto del punto a cui sono interessato a conoscere (è * a * livello basso) – BCS

+0

Scusa BCS, hai assolutamente ragione. – user134706

-1

Fondamentalmente provare a farlo in Page_Load e se ciò non funziona, provalo in Page_Init o Page_Render. Normalmente uno di loro funziona :) Questo è l'approccio scientifico.

+0

Per la persona che mi ha votato - doveva essere uno scherzo, sciocco! –

+1

E come uno scherzo non dovrebbe essere vicino alla cima delle risposte. – BCS

Problemi correlati