Question

Hey, I have a CheckBoxList that gets populated with the database. When I make any changes to the state (check or uncheck) of a single checkbox, it doesn't get returned when I submit my form.

To its simplest form, I have:

<asp:CheckBoxList runat="server" ID="listEmployes" RepeatDirection="Horizontal">
</asp:CheckBoxList>

C#:

protected void btnSubmit_Click(object sender, EventArgs e)
{
    _connection.Open();

    var employes = listEmployes.Items;

    foreach (ListItem employe in employes)
    {
        if (employe.Selected)
        {
            _command = new MySqlCommand(String.Format("INSERT IGNORE INTO Liste_Employes (Projet_ID, User_ID) VALUES ({0}, {1})", _projetId, employe.Value), _connection);
        }
        else
        {
            _command = new MySqlCommand(String.Format("DELETE IGNORE FROM Liste_Employes WHERE Projet_ID = {0} AND User_ID = {1}", _projetId, employe.Value), _connection);
        }

        _command.ExecuteNonQuery();
    }


}

Am I missing something? Thanks.

Was it helpful?

Solution

Make sure your CheckBoxList is not being rebound on postbacks (if you're databinding from code).

If(!Page.IsPostBack) 
{
    // Bind code
}

OTHER TIPS

What is in your Page_Load method? I am guessing that you are not checking for !Page.IsPostBack before you bind the checkboxes.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top