Ik heb gewerkt aan een webapplicatie met behulp van ASP.NET met de code base als C #. Ik heb een dynamische tabel die past de grootte op basis van een terugkeer van een SQL-query; met een vakje toegevoegd in de derde cel van elke rij. Het selectievakje wordt een ID toegewezen op basis van een index en de datum.
Wanneer gebruikers druk op de knop in te dienen, wordt de code verondersteld om een waarde van elke rij die wordt gecontroleerd te krijgen. Echter, wanneer het doorlussen van de rijen, geen van de selectievakjes ooit hebben een waarde van geldt voor de Gecontroleerd pand. De ID blijft bestaan, maar de waarde van het selectievakje lijkt te zijn verloren.
Code voor het toevoegen van de Checkboxes:
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);
De code voor het verkrijgen van de checkbox waarde:
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());
}
}
}













