segunda-feira, 28 de junho de 2010

(Invocar função no controle Pai) Delegate Com UserControl.ascx

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  ";      

}







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.

Nenhum comentário:

Postar um comentário