Primeiro vamos criar o controle ascx

 

Insira um botão no controle ascx

 

No código do controle declare um delegate e um evento dentro da classe.

 

public delegate void delChamarEvento();

public event delChamarEvento evChamarEvento;

 

no evento click do botão chame o evento.

this.evChamarEvento();

 

Agora vamos para a pagina aspx

 

Insira o controle dentro da pagina

Note que na parte superior será registrado o controle

 

<%@ Register src="uscEventos.ascx" tagname="uscEventos" tagprefix="uc1" %>

 

No meu caso uscEventos é o nome do meu controle

 

Insira um label na pagina para visualizarmos o resultado

<asp:Label ID="lblMensagem" runat="server" Text=""></asp:Label>

 

Crie qualquer metodo na pagina para ser executa pelo controle

 

public void ExecutarEvento()

{

        lblMensagem.Text = "Evento do controle executado";      

}

 

 

No load da pagina sobrescreva o evento do controle passando o seu metodo da pagina

 

protected void Page_Load(object sender, EventArgs e)

{

      uscEventos1.evChamarEvento+=newcEventos.delChamarEvento(ExecutarEvento);

}

 

Agora é só testar

Observe que quando clicar no botão do controle, o metodo ExecutarEvento() dentro da pagina aspx é executado.