2010-02-22 12 views
6

Tengo un control de usuario con un botón llamado cargar en él. El evento de clic de botón es el siguiente:Eventos de control de usuario

protected void btnUpload_Click(object sender, EventArgs e) 
{ 
    // Upload the files to the server 
} 

En la página en el control de usuario está presente, después de que el usuario hace clic en el botón de subida Quiero realizar alguna operación justo después del código de evento de clic de botón se ejecuta en el control de usuario. ¿Cómo hago clic en el evento click una vez que ha completado su trabajo?

Respuesta

8

Tienes que crear un evento en el control de usuario, algo así como:

public event EventHandler ButtonClicked; 

y luego en el fuego método del evento ...

protected void btnUpload_Click(object sender, EventArgs e) 
{ 
    // Upload the files to the server 

    if(ButtonClicked!=null) 
     ButtonClicked(this,e); 
} 

entonces usted será capaz de conectar al evento ButtonClicked de su control de usuario.

+1

Y luego asegúrese de que la Página que contiene el usercontrol esté escuchando el evento .... this.myUploadControl.ButtonClicked + = new EventHandler (MyUploadControl_ButtonClicked); Donde MyUploadControl_ButtonClicked se declara en la clase de página como el controlador de eventos. –

0

crear una propiedad pública en CodeBehind de control de usuario:

public Button btn 
    { 
     get { return this.Button1; } 
    } 

Luego, el Page_Load que puede usarla como:

WebUserControl11.btn.Click += (s, ea) => { Response.Write("Page Write"); }; 
0

En lugar de escribir un controlador de eventos sólo para llamar a otro evento, en su lugar puede relacione directamente los eventos mediante una implementación de evento explícita:

public event EventHandler ButtonClicked 
{ 
    add { btnUpload.Click += value; } 
    remove { btnUpload.Click -= value; } 
} 

Ahora cualquiera que se suscriba a su evento ButtonClicked se suscribe directamente al evento Click del control btnUpload. Encuentro que esta es una forma mucho más concisa de implementar esto.

Cuestiones relacionadas