Array
(
)

Problema para pegar Radiobutton checkado com LINQ

Fabiovianna
   - 12 set 2013

Bom dia pessoal,
tenho 4 radiobutton com Groupname "x"
queria pegar eles com LINQ mas não está funcionando no meu WEBFORM
#Código

 string radio =  this.Controls.OfType<RadioButton>().FirstOrDefault(r => r.Checked && r.GroupName == "teste").ToString();

sempre me retorna NULL.
alguém sabe como realizar isso, lembrando que não estou utilizando RadioButtonList e é webform?
abs.

Joel Rodrigues
   - 12 set 2013

Primeiro verifique se o OfType está retornando os radiobuttons realmente, você pode depurar ou usar o Count() para ver a quantidade.
Pode parecer bobagem, mas verifique se o GroupName está correto.

0
|
0

Fabiovianna
   - 12 set 2013

ta certinho sim...
mas o OfType retorna 0 no count.

Essa é minha page
#Código

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
     <div id="Autenticacao">
            <div id="Login"> 
    <asp:RadioButton ID="RadioButton1" GroupName="teste" Text="1" runat="server" />
    <asp:RadioButton ID="RadioButton2" GroupName="teste" Text="2" runat="server" />
    <asp:RadioButton ID="RadioButton3" GroupName="teste" Text="3" runat="server" />
    <asp:RadioButton ID="RadioButton4" GroupName="teste" Text="4" runat="server" />

    <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
                </div>
         </div>
</asp:Content>


com o código acima.

abs.

0
|
0

Fabiovianna
   - 12 set 2013

pelo o q eu to vendo no this ele acha as radioButton, mas no controls não.

porém sem o controls o linq da erro.

0
|
0

Fabiovianna
   - 12 set 2013

Consegui... Coloquei runat na DIV e coloquei o seguinte código.

#Código

string rb = Login.Controls.OfType<RadioButton>().FirstOrDefault(x => x.Checked == true && x.GroupName == "teste").Text[0].ToString();


abs.

0
|
0

Joel Rodrigues
   - 12 set 2013

Ah, beleza então. Que bom que deu certo.
Obrigado por compartilhar a solução encontrada.
Estou marcando este tópico como concluído.

0
|
0