2010-11-02 22 views
24

Estoy usando ASP.NET 3.5 y he usado anteriormente 1.1 Estoy teniendo dificultades para encontrar dónde puedo adjuntar/declarar el evento init de la página?ASP.NET page_init event?

En 1.1 había un código generado automáticamente que solía tener un código de inicialización. Donde podemos agregar el método init de la página. Entonces estoy confundido por favor ayuda.

Respuesta

43

Sólo declarar esto en su código detrás:

protected override void OnInit(EventArgs e) 
    { 
     base.OnInit(e); 
    } 
+1

Pero para adjuntar un evento, tenemos que hacer algo como page.OnInit + = evnetHnaglerName (Sender , EventArgs) ¿dónde está eso declarado ...? ahí es donde estoy más confundido. –

+0

no, porque está anulando el método. Esto está todo cuidado para ti. – kemiller2002

+0

No es como 1.1 donde puede ver el código. Han escondido una gran cantidad en la otra parte de la clase parcial. – kemiller2002

0

puede agregar el método page_init en el archivo CS de la página. Por ejemplo, si tiene Default.aspx puede poner el método en Default.aspx.cs

Cuando crea una página en VS, tendrá el método Page_Load creado para usted. Puede poner su código page_init & otro código para la página en el archivo CS.

PD: Si utiliza VB como el código del lado del servidor, se le tiene que poner en el archivo VB

0

No es diferente en ASP.NET 3.5 - no es una página de código subyacente, donde puede declarar/adjuntar el evento OnInit.

Para ver el código detrás, haga clic derecho en el archivo en el explorador de soluciones y seleccione View code.

6

Usted no tiene que unirse al evento. Basta con crear un controlador de eventos por ella, y quedará vinculado automaticlaly:

protected void Page_Init(object sender, EventArgs e) { 
    ... 
} 
60

ASP.NET 2.0 cambió el modelo de diseño/compilación por defecto.

Por defecto AutoEventWireup se establece en true, que indica compilador automáticamente asociar controladores de eventos a partir del código detrás de la utilización de nombres convención, por lo que cuando se escribe:

protected void Page_Load(...) 
{ 

} 

se pone automáticamente este código en detrás de las escenas:

this.Load += new EventHandler(this.Page_Load) 

Esto se hizo previamente por InitialiseComponent() (creo).

No obstante, la respuesta es escribir el código usted mismo:

protected void Page_Init(object sender, EventArgs e) 
{ 
    // do the bartman 
} 
+6

+1 para Autoeventwireup – Pankaj

+0

El único problema es que no hay autocompletar disponible en esto. Debe conocer la sintaxis exacta del controlador de eventos. – FrenkyB

0

sólo tiene que añadir a sí mismo con la firma

protected void Page_Init() 
{ 
    // 
} 
2

Para aquellos que utilizan ASP/vb.net tiene que declarar en el código subyacente as: Sub página protegida (ByVal sender como objeto, ByVal e como EventArgs) Maneja Me.Init