2010-02-24 15 views

risposta

26

Si può fare una delle tre cose:

  1. Utilizzare un base page nell'applicazione, e hanno tutte le pagine dell'applicazione ereditano da essa. Nell'evento page_load nella pagina di base, fai ciò che devi fare. Assicurati che le pagine ereditate nella tua app chiamino l'evento page_load della pagina di base se sono override page_load (di solito lo fanno). E poiché page_load è sovrautilizzato, darò il consiglio relativo a guardare all the page events (specialmente in particolare page_prerender) nel caso in cui un altro sia più appropriato.

  2. utilizzare gli eventi che un incendio in pagina global.asax, che si verificano ogni volta che si riceve una richiesta. Guarda l'evento Application_BeginRequest. Ma, c'è un sacco di eventi lì, quindi check them all out nel caso in cui un altro evento sia più applicabile alla tua situazione. (Proprio come gli eventi di pagina regolari, non si ottiene nella cattiva abitudine di utilizzare sempre lo stesso evento.)

  3. C'è una possibilità che ciò che si desidera avere accadere ogni volta che deve andare in una master page, in particolare se è legato al layout. Le pagine mastro sembrano carine ma si sono dimostrate di buon design. Se si utilizza l'evento page_load di una pagina master per funzionalità comuni, non è necessario richiamarlo dal page_load di ciascuna pagina di contenuto; si attiva ogni volta l'evento page_load di after the called-page. (Dico questo perché è facile confondere pagine master e pagine di base in un primo momento.)

+0

+1 Modo per coprire tutte le basi –

+0

Ho finito per utilizzare la pagina principale perché pertinente ad esso. Ma stavo esaminando il global.asax prima di chiedere. Non riuscivo a trovarlo però. Grazie mille. – Hazior

+1

Sì, questo succede a ognuno di noi. Dov'è!?! Sebbene sia un file speciale che VS conosce, non è lì per impostazione predefinita. Un'app .net non richiede * un global.asax. Nel 2008 vai su File, Nuovo file e seleziona la ** classe di applicazione globale **. Nel 2005 penso che tu faccia File, Nuovo, File, quindi selezionalo. –

1

si potrebbe creare una classe base comune per le vostre pagine, scesi da System.Web.UI.Page e aggiungere il codice in un gestore OnLoad lì.

4

È inoltre possibile creare e registrare uno HTTP Module. Il vantaggio è che sono registrati nel web.config, quindi puoi aggiungerli e rimuoverli in fase di esecuzione se vuoi ... e ne hai più di uno.

Problemi correlati