none
Pegar valor do CheckBox RRS feed

  • Pergunta

  • Bem  gostaria de saber como pegar o valor do checkbox  quando selecionado. 

    O check está sendo gerado dinamicamente dentro de uma StringBuilder.

    Segue abaixo o codigo CodeBind: 

     protected void bntNomeCliente_Click(object sender, EventArgs e)
            {
                string array = txtNome.Text;
                char[] letras = array.Distinct().ToArray();
                DataTable dt = new DataTable();
    
    
                sb.Append("<form id=\"frmCod\" runat=\"server\">");     
                sb.Append("<ul>");
                for (int i = 0; i < letras.Length; i++)
                {
                   dt = ConexaoBanco.Busca.BuscaCodigos(letras[i].ToString());
                   
                    
                    sb.Append("<li style=\"text-transform: uppercase;\">"+letras[i] + " - " );
                    if (dt.Rows.Count != 0)
                    {
                        int count = Convert.ToInt32(dt.Rows.Count);
                        for (int j = 0; j < count; j++)
                        {
                            sb.Append("<span>");
                            sb.Append("<input type=\"checkbox\" name=\"idCod\" value=\"" + dt.Rows[0].ItemArray[0].ToString() + "\">" + dt.Rows[j].ItemArray[1].ToString());
                            sb.Append("</span>");
                        }
                    }
                    sb.Append("</li>");                    
                }
                sb.Append("</ul>");  
                sb.Append("<input type=\"submit\" name=\"submit\" value=\"Enviar\" />");
                sb.Append("<form>");
                TXT = sb.ToString();
                btnRelatorio.Visible = true;
        
            }
    Pagina aspx:
    <%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Relatorio.aspx.cs" Inherits="SistemaAcronofologia.Relatorio" %>
    <asp:Content runat="server" ID="FeaturedContent" ContentPlaceHolderID="FeaturedContent">
        <section class="featured">
            <div class="content-wrapper">
                <hgroup class="title">
                    <h1>Relatório</h1>
                </hgroup>
            </div>
        </section>
    </asp:Content>
    <asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">
    
       <fieldset>
                        <legend>RELATÓRIO</legend>
                        <ol>
                            <li>
                                <asp:Label ID="lblCod" runat="server" AssociatedControlID="txtNome">Nome do Cliente:</asp:Label>
                                <asp:TextBox runat="server" ID="txtNome" /> <asp:Button runat="server" ID="bntNomeCliente" OnClick="bntNomeCliente_Click" Text="OK" />
                                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtNome" CssClass="field-validation-error" ErrorMessage="Campo obrigatorio." />
                            </li>
                            <asp:Button runat="server" ID="btnRelatorio" Visible="false" OnClick="btnRelatorio_Click" Text="Gerar Relatório" />
                            
    
                        </ol>
    
           <%=TXT %>
           
    
                    </fieldset>
    </asp:Content>

    sábado, 7 de maio de 2016 21:53

Respostas

  • Sugiro o entendimento do controle asp:CheckBoxList pelo link abaixo. É a maneira correta de ser feito.
    https://msdn.microsoft.com/pt-br/library/system.web.ui.webcontrols.checkboxlist.checkboxlist(v=vs.110).aspx, veja o método "Check_Clicked" e "Page_Load".
    Use sempre asp:controls. Não que ASP.NET WebForms não aceite, mas você vai evitar problemas ou resolvê-los rapidamente.

    Obs.
    Procure separar a interface do códgo do servidor. É uma boa prática pois:
    - reduz o custo em $ do projeto
    - reduz o custo em Hrs do projeto
    - independe de um desenvolvedor para fazer um ajuste de interface.

    Fico à disposição para maiores esclarecimentos.


    • Marcado como Resposta Marcos SJ segunda-feira, 9 de maio de 2016 14:18
    domingo, 8 de maio de 2016 01:50

Todas as Respostas

  • Sugiro o entendimento do controle asp:CheckBoxList pelo link abaixo. É a maneira correta de ser feito.
    https://msdn.microsoft.com/pt-br/library/system.web.ui.webcontrols.checkboxlist.checkboxlist(v=vs.110).aspx, veja o método "Check_Clicked" e "Page_Load".
    Use sempre asp:controls. Não que ASP.NET WebForms não aceite, mas você vai evitar problemas ou resolvê-los rapidamente.

    Obs.
    Procure separar a interface do códgo do servidor. É uma boa prática pois:
    - reduz o custo em $ do projeto
    - reduz o custo em Hrs do projeto
    - independe de um desenvolvedor para fazer um ajuste de interface.

    Fico à disposição para maiores esclarecimentos.


    • Marcado como Resposta Marcos SJ segunda-feira, 9 de maio de 2016 14:18
    domingo, 8 de maio de 2016 01:50
  • Valeu !
    quarta-feira, 11 de maio de 2016 14:54