Click here to Skip to main content
12,751,904 members (29,124 online)
Rate this:
 
Please Sign up or sign in to vote.
See more: ASP.NET checkbox
hi, i want to get the selected checkboxes inside of asp repeater, but it always return
checked="false"


this is my page:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:Button Text="Click" runat="server" OnClick="SendEmail"/>
        <table align="center">
            <tr>
                <td>
                    <div class="widget-block">
                        <div class="widget-head" style="border-removed 0px; margin-removed 0px;">
                            <h5 class="pull-right" style="padding-removed 0px;">لیست مخاطبین</h5>
                        </div>
                        <div class="widget-content">
                            <div class="widget-box" style="width: 700px; min-width: 700px;">
                                <div>
                                    <label id="SendTypeLabel">
                                        نحوه ارسال:
                                    </label>
                                    <select runat="server" id="drpSendType" onchange="ChangeSendType();">
                                        <option value="ارسال انتخابی">ارسال انتخابی</option>
                                        <option value="ارسال گروهی">ارسال گروهی</option>
                                    </select>
                                </div>
                                <div  runat="server" id="SelectionTable">
                                    <table class="data-tbl-boxy table" id="table5">
                                        <thead id="Thead5"  runat="server" class="tblHeader">
                                            <tr>
                                                <th>انتخاب</th>
                                                <th>نام</th>
                                                <th>نام خانوادگی</th>
                                                <th>ایمیل</th>
                                                <th>نام گروه</th>
                                            </tr>
                                        </thead>
                                        <tbody  runat="server" id="tbodySelection">
                                            <asp:Repeater runat="server" ID="rptSelection">
                                                <ItemTemplate>
                                                    <tr>
                                                        <td>
                                                            <asp:CheckBox ID="SelectionCheckBox" Text='<%#Eval("FirstName")%>' runat="server" ToolTip='<%#Eval("Contact_ID")%>' />
                                                        </td>
                                                        <td>
                                                            <asp:Label ID="Label1" runat="server" Text='<%#Eval("FirstName")%>' />
                                                        </td>
                                                        <td>
                                                            <asp:Label ID="Label2" runat="server" Text='<%#Eval("LastName")%>' />
                                                        </td>
                                                        <td>
                                                            <asp:Label ID="Label3" runat="server" Text='<%#Eval("Email")%>' />
                                                        </td>
                                                        <td>
                                                            <asp:Label ID="Label4" runat="server" Text='<%#Eval("GroupName")%>' />
                                                        </td>
                                                    </tr>
                                                </ItemTemplate>
                                            </asp:Repeater>
                                        </tbody>
                                    </table>
                                </div>
                                <div  runat="server" id="GrouupTable" class="MH">
                                    <table class="data-tbl-boxy table" id="tableGroup">
                                        <thead id="Thead6"  runat="server" class="tblHeader">
                                            <tr>
                                                <th>انتخاب</th>
                                                <th>نام گروه</th>
                                                <th>تعداد افراد</th>
                                            </tr>
                                        </thead>
                                        <tbody  runat="server" id="tbodyGroup">
                                            <asp:Repeater runat="server" ID="rptGroup">
                                                <ItemTemplate>
                                                    <tr>
                                                        <td>
                                                            <asp:CheckBox ID="gchk" Text="" runat="server" ToolTip='<%#Eval("ID")%>' />
                                                        </td>
                                                        <td>
                                                            <asp:Label ID="Label5" runat="server" Text='<%#Eval("GroupName")%>' />
                                                        </td>
                                                        <td>
                                                            <asp:Label ID="Label6" runat="server" Text='<%#Eval("MemberNo")%>' />
                                                        </td>
                                                    </tr>
                                                </ItemTemplate>
                                            </asp:Repeater>
                                        </tbody>
                                    </table>
                                </div>
                            </div>
                        </div>
                    </div>
                </td>
            </tr>
        </table>
    </form>
</body>
</html>

and this is my code:
using System;
using System.Collections;
using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Text;
using System.IO;
using System.Web.Services;
using System.Globalization;
using System.Net;
using System.Net.Mail;
using System.Net.Mime;

public partial class test : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            LoadContacts(sender, e);
        }
    }

    protected void LoadContacts(object sender, EventArgs e)
    {
        SqlConnection Connection = new SqlConnection("Data Source=.;Initial Catalog=npg_database_1;Integrated Security=SSPI");
        SqlCommand Command = new SqlCommand("GetContactDetails", Connection);
        Command.CommandType = CommandType.StoredProcedure;
        Connection.Open();
        Command.Parameters.AddWithValue("@action", "GetAllContacts");
        Command.Parameters.AddWithValue("@group_name", "1");
        SqlDataAdapter adapter = new SqlDataAdapter(Command);
        DataSet ds = new DataSet();
        adapter.Fill(ds);
        DataTable tableA = ds.Tables[0];
        DataTable tableB = ds.Tables[1];
        rptGroup.DataSource = tableB; //Group Table
        rptGroup.DataBind();
        rptSelection.DataSource = tableA; //Selection Table
        rptSelection.DataBind();
        Connection.Close();
    }

    protected void SendEmail(object sender, EventArgs e)
    {
        List<long> SelectionIds = new List<long>();
        string Temp;
        for (int i = 0; i < rptSelection.Items.Count; i++)
        {
            CheckBox chk = (CheckBox)rptSelection.Items[i].FindControl("SelectionCheckBox");
            Temp = chk.ID.ToString();
            if (chk.Checked && chk != null)
            {
                SelectionIds.Add(Int64.Parse(chk.ToolTip));
                Response.Write(chk.Text);
            }
        }
    }
}


how can i fix this problem???
Posted 16-Feb-13 21:48pm

1 solution

Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 1

SET AutoPostBack Property To True

<asp:CheckBox ID="gchk" Text="" runat="server" ToolTip='<%#Eval("ID")%>' AutoPostBack="True" />
  Permalink  
Comments
shajarian_lover 17-Feb-13 3:39am
   
is there another way to fix this problem? i dont want to set AutoPostBack to true, beacause it reloads page again.
Imtiyaz_mi 17-Feb-13 3:42am
   
By default the value will be false, so we need to set the autopostback property
You can place asp:Repeater control under update panel

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

    Print Answers RSS
Top Experts
Last 24hrsThis month


Advertise | Privacy | Mobile
Web02 | 2.8.170217.1 | Last Updated 17 Feb 2013
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100