Usuário com melhor resposta
Pegar valor do CheckBox

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