Je travaille sur une application Web en utilisant ASP.NET avec la base de code en C #. J'ai une table dynamique qui redimensionne basée sur un retour d'une requête SQL; avec une case à cocher ajouté dans la troisième cellule de chaque rangée. La case à cocher est attribué un identifiant selon un indice et la date.
Lorsque les utilisateurs ont frappé le bouton d'envoi, le code est censé obtenir une valeur de chaque ligne est cochée. Cependant, lors de la boucle à travers les lignes, aucune des cases à cocher jamais ont une valeur true pour la propriété Vérifié. L'ID persiste, mais la valeur de la case à cocher semble perdre.
Code pour ajouter les cases à cocher:
cell = new TableCell();
CheckBox cb = new CheckBox();
cell.ApplyStyle(TS);
cb.ID = index.ToString() + + lstDate.SelectedItem.Text.ToString();
if (reader[RestartStatus].ToString() == 0)
{
cb.Checked = false;
cb.Enabled = true;
}
else
{
cb.Checked = true;
}
cell.Controls.Add(cb);
Le code pour obtenir la valeur de case à cocher:
for (int i = 0; i < CompTable.Rows.Count; i++)
{
int t3 = CompTable.Rows[i].Cells[2].Controls.Count;
Control temp = null;
if (t3 > 0)
{
temp = CompTable.Rows[i].Cells[2].Controls[0];
}
string t2 = i.ToString() + + lstDate.SelectedItem.Text.ToString();
if ( temp != null && ((CheckBox)temp).ID == i.ToString() + + lstDate.SelectedItem.Text.ToString())
{
//Separated into 2 if statements for debugging purposes
//ID is correct, but .Checked is always false (even if all of the boxes are checked)
if (((CheckBox)temp).Checked == true)
{
tlist.Add(CompTable.Rows[i].Cells[0].Text.ToString());
}
}
}













