2010-02-24 14 views

Respuesta

26

Puede hacer una de tres cosas:

  1. Utilice un base page en su aplicación, y tienen todas las páginas de la aplicación heredan de ella. En el evento page_load en la página base, haz lo que tienes que hacer. Asegúrese de que las páginas heredadas en su aplicación llamen al evento page_load de la página base si son override page_load (generalmente lo hacen). Y debido a que page_load está sobreutilizado, daré los consejos relacionados para mirar all the page events (especialmente especialmente page_prerender) en caso de que otro sea más apropiado.

  2. Utilice los eventos que disparan en la página global.asax, que suceden cada vez que se recibe una petición. Mira el evento Application_BeginRequest. Pero hay un montón de eventos allí, así que check them all out en caso de que otro evento sea más aplicable a su situación. (Al igual que los eventos de página regulares, no se interponen en el mal hábito de usar siempre el mismo evento.)

  3. Hay una posibilidad de que lo que queremos que suceda cada vez que debe ir en una master page, especialmente si está relacionado con el diseño Las páginas maestras parecen cursi, pero se han demostrado en buenos diseños. Si utiliza el evento page_load de una página maestra para la funcionalidad común, no tiene que llamarlo desde la página_load de cada página de contenido; dispara cada vez el evento page_load de after the called-page. (Menciono esto porque es fácil confundir las páginas maestras y las páginas de base al principio.)

+0

+1 Forma de cubrir todas las bases –

+0

Terminé usando la página maestra porque pertenecía a ella. Pero estaba buscando en el archivo.asax global antes de preguntar. Sin embargo, no pude encontrarlo. Un millón de gracias. – Hazior

+1

Sí, esto nos sucede a cada uno de nosotros. ¡¿¡Dónde está!?! Aunque es un archivo especial que VS conoce, no está allí por defecto. Una aplicación .net no * necesita * un archivo.asax global. En 2008, vaya a Archivo, Nuevo archivo y seleccione la ** clase de aplicación global **. En 2005, creo que haces Archivo, Nuevo, Archivo, luego lo seleccionas. –

1

se podría crear una clase base común para sus páginas, desciendo de System.Web.UI.Page y añadir el código de un controlador OnLoad allí.

4

También podría crear y registrar un HTTP Module. La ventaja de esto es que están registrados en web.config, por lo que puede agregarlos y eliminarlos en tiempo de ejecución si lo desea ... y tiene más de uno.

Cuestiones relacionadas