Call event from within the code

1

I have this event in my code:

protected void rdbGarantiaConfissao_SelectedIndexChanged(object sender, EventArgs e)
        {
            //Declarações
            RadioButtonList vrblAprovado = sender as RadioButtonList;
            try
            {
                //Instâncias e Inicializações

                //Desenvolvimento
                if (vrblAprovado.SelectedValue == "1")
                    MostraConfissaoGarantia(1);
                else
                    MostraConfissaoGarantia(2);
            }
            catch (Exception Ex)
            {
                Mensagem = (wucMensagens)Page.Master.FindControl("wucMasterMensagens");
                Mensagem.ExibirMensagem(wucMensagens.TipoAlerta.Erro, Ex.Source, Ex.Message, Ex.StackTrace);
            }
        }

How do I in another part of the code I run this event?

I just want to avoid this:

if (rdbGarantiaConfissao.SelectedValue == "1")
   wucCadastroConfissaoDividaPV.Visible = true;
else
   wucGarantiaAdicionalPV.Visible = true;

Because the SelectedIndexChanged event already does this, as can be seen.

    
asked by anonymous 04.02.2015 / 14:57

3 answers

1

So it solved:

protected void rdbGarantiaConfissao_SelectedIndexChanged(object sender, EventArgs e)
        {
           NomeMetodo(sender);
        }

private void NomeMetodo(object sender){
 //Declarações
            RadioButtonList vrblAprovado = sender as RadioButtonList;
            try
            {
                //Instâncias e Inicializações

                //Desenvolvimento
                if (vrblAprovado.SelectedValue == "1")
                    MostraConfissaoGarantia(1);
                else
                    MostraConfissaoGarantia(2);
            }
            catch (Exception Ex)
            {
                Mensagem = (wucMensagens)Page.Master.FindControl("wucMasterMensagens");
                Mensagem.ExibirMensagem(wucMensagens.TipoAlerta.Erro, Ex.Source, Ex.Message, Ex.StackTrace);
            }
}

protected void NomeEvento2(){
   NomeMetodo(rdbGarantiaConfissao);
}
    
04.02.2015 / 16:30
0

Try using Eventhandler

link

Or create a method that uses RadioButton as a parameter.

  protected void rdbGarantiaConfissao_SelectedIndexChanged(object sender, EventArgs e)
    {
//Chame o metodo
             Metodo(meuradiobtn);
     }
    
04.02.2015 / 15:12
0

If you want to use only the SelectedValue property of RadioButtonList , you can create a method that takes a parameter of type String , something like this:

protected void MeuMetodo(String selectedValue) 
{
    try
    {
        //Instâncias e Inicializações

        //Desenvolvimento
        if (selectedValue == "1")
            MostraConfissaoGarantia(1);
        else
            MostraConfissaoGarantia(2);
    }
    catch (Exception Ex)
    {
        Mensagem = (wucMensagens)Page.Master.FindControl("wucMasterMensagens");
        Mensagem.ExibirMensagem(wucMensagens.TipoAlerta.Erro, Ex.Source, Ex.Message, Ex.StackTrace);
    }
}

To use this method in the event SelectedIndexChanged or any other part of the code, you can do something like this:

protected void rdbGarantiaConfissao_SelectedIndexChanged(object sender, EventArgs e)
{
    RadioButtonList vrblAprovado = sender as RadioButtonList;
    if (vrblAprovado != null)
        MeuMetodo(vrblAprovado.SelectedValue);
    else
        // o que você irá fazer se sender não for do tipo RadioButtonList
}

protected void QualquerOutroMetodoQueVoceTem()
{
    MeuMetodo(SeuRadioButtonList.SelectedValue);
}

If you really need to work with more information that is in RadioButtonList , you can do this:

protected void MeuMetodo(RadioButtonList radioButtonList) 
{
    try
    {
        //Instâncias e Inicializações

        //Desenvolvimento
        if (radioButtonList.SelectedValue == "1")
            MostraConfissaoGarantia(1);
        else
            MostraConfissaoGarantia(2);
    }
    catch (Exception Ex)
    {
        Mensagem = (wucMensagens)Page.Master.FindControl("wucMasterMensagens");
        Mensagem.ExibirMensagem(wucMensagens.TipoAlerta.Erro, Ex.Source, Ex.Message, Ex.StackTrace);
    }
}

And to call you:

protected void rdbGarantiaConfissao_SelectedIndexChanged(object sender, EventArgs e)
{
    RadioButtonList vrblAprovado = sender as RadioButtonList;
    if (vrblAprovado != null)
        MeuMetodo(vrblAprovado);
    else
        // o que você irá fazer se sender não for do tipo RadioButtonList
}

protected void QualquerOutroMetodoQueVoceTem()
{
    MeuMetodo(SeuRadioButtonList);
}

Note that the "handling" of exceptions is done within MeuMetodo , here in SOpt there are some questions that deal with this.

    
04.02.2015 / 16:04