none
recuperar valor radio button RRS feed

  • Pergunta

  • boa noite pessoas tenho 2 radio button na tela um para habilitado e outro para desabilitado assim

     

       <asp:RadioButton ID="RadioButton1"  runat="server" Text="Habilitado" GroupName="rd1" />

                                    <asp:RadioButton ID="RadioButton2" runat="server" Text="Desabilitado" GroupName="rd1" />

    passei o mesmo GroupName porque quando selecionava o radio os 2 ficavao selecionados ,agora esta ok porem quando tento recuperar o checked sempre vwem true .

    a rotina seria assim 

     

     

     

     if (RadioButton1.Checked)

                {

     

                    SQL.Append(" UPDATE USUARIO set nome='" + txtnome.Text + "',senha='" + txtsenha.Text + "',funcao='" + ddlfuncao.SelectedItem + "',habilitado=1'");

                    SQL.Append(" where chave=" + Request["chave"].ToString() + "");       

                }

                else

                {

     

                    SQL.Append(" UPDATE USUARIO set nome='" + txtnome.Text + "',senha='" + txtsenha.Text + "',funcao='" + ddlfuncao.SelectedItem + "',habilitado=0");

                    SQL.Append(" where chave=" + Request["chave"].ToString() + "");

                }

     

    so que mesmo selecionando o outro radio o valor do radio 1 vem true alguem pode me ajudar

     

    quinta-feira, 11 de agosto de 2011 00:48

Respostas


  • Olá suportevbnet!

    Por que ao invés de usar 2 RadioButtons distintos você não utiliza um RadioButtonList, aí você não precisa se preocupar em mudar a checagem de um quando o outro muda, fica automatizado... E então você pode tratar isso dentro de um só evento, o SelectedIndexChanged... Veja como ficaria:

    // Evento SelectedIndexChanged do RadioButtonList1
    protected void RadioButtonList1_SelectedIndexChanged(Object sender, EventArgs e)
    {
        if (RadioButtonList1.SelectedIndex == 0)
        { 
           SQL.Append(" UPDATE USUARIO set nome='" + txtnome.Text + "',senha='" + txtsenha.Text + "',funcao='" + ddlfuncao.SelectedItem + "',habilitado=1'");
    
            SQL.Append(" where chave=" + Request["chave"].ToString() + ""); 
    
        }
        else
        {
             SQL.Append(" UPDATE USUARIO set nome='" + txtnome.Text + "',senha='" + txtsenha.Text + "',funcao='" + ddlfuncao.SelectedItem + "',habilitado=0");
    
            SQL.Append(" where chave=" + Request["chave"].ToString() + "");
    
        }
    }
    

    Tente aí e veja se resolve...

    Até mais, abraços...

    quinta-feira, 11 de agosto de 2011 10:58
  • Ola amigo,

    Utilize RadioButtonList no lugar de RadioButton, igual o que o colega Jefferson disse a cima.

     



    Stephany Henrique de Almeida Batista
    quinta-feira, 11 de agosto de 2011 21:44

Todas as Respostas

  • Olá,

     

         Você tem um evento page_load preenchido com código? Ele (ou algum método dele) coloca o valor do radio para true (RadioButton1.Checked=true)? Está dentro de um if (!IspostBack)?

         Se a primeira pergunta for positiva, ou se a primera for negativa e as outras positivas: REZE! (brincadeira) Tente um rebuild, clean ou etc. Por que não faz sentido....

     

    Att,

    Ricardo

    quinta-feira, 11 de agosto de 2011 02:15

  • Olá suportevbnet!

    Por que ao invés de usar 2 RadioButtons distintos você não utiliza um RadioButtonList, aí você não precisa se preocupar em mudar a checagem de um quando o outro muda, fica automatizado... E então você pode tratar isso dentro de um só evento, o SelectedIndexChanged... Veja como ficaria:

    // Evento SelectedIndexChanged do RadioButtonList1
    protected void RadioButtonList1_SelectedIndexChanged(Object sender, EventArgs e)
    {
        if (RadioButtonList1.SelectedIndex == 0)
        { 
           SQL.Append(" UPDATE USUARIO set nome='" + txtnome.Text + "',senha='" + txtsenha.Text + "',funcao='" + ddlfuncao.SelectedItem + "',habilitado=1'");
    
            SQL.Append(" where chave=" + Request["chave"].ToString() + ""); 
    
        }
        else
        {
             SQL.Append(" UPDATE USUARIO set nome='" + txtnome.Text + "',senha='" + txtsenha.Text + "',funcao='" + ddlfuncao.SelectedItem + "',habilitado=0");
    
            SQL.Append(" where chave=" + Request["chave"].ToString() + "");
    
        }
    }
    

    Tente aí e veja se resolve...

    Até mais, abraços...

    quinta-feira, 11 de agosto de 2011 10:58
  • não esta no Page_load estes radios estão em um form que o usuario ira preencher nome,funcao senha etc e selecionar habilitar ou nao .

     

    quando clicar no botão gravar eu tenho capturar qual dos radios estão como true po isso o if

    caso seja selecionado o RadioButton1.Checked então habilitado se não RadioButton2.Checked

    desabilitado so que mesmo marcando o RadioButton2.Checked o radio1 vem true não deveria.

     

     if (RadioButton1.Checked)

                {

     

                    SQL.Append(" UPDATE USUARIO set nome='" + txtnome.Text + "',senha='" + txtsenha.Text + "',funcao='" + ddlfuncao.SelectedItem + "',habilitado=1'");

                    SQL.Append(" where chave=" + Request["chave"].ToString() + "");       

                }

                else

                {

     

                    SQL.Append(" UPDATE USUARIO set nome='" + txtnome.Text + "',senha='" + txtsenha.Text + "',funcao='" + ddlfuncao.SelectedItem + "',habilitado=0");

                    SQL.Append(" where chave=" + Request["chave"].ToString() + "");

                }

    quinta-feira, 11 de agosto de 2011 19:32
  • Ola amigo,

    Utilize RadioButtonList no lugar de RadioButton, igual o que o colega Jefferson disse a cima.

     



    Stephany Henrique de Almeida Batista
    quinta-feira, 11 de agosto de 2011 21:44