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.