Ich habe auf einem Web-App arbeite ASP.NET mit der Code-Basis wie C #. Ich habe eine dynamische Tabelle, die auf einer Rückkehr von einer SQL-Abfrage basiert die Größe; mit einem Kontrollkästchen hinzugefügt in der dritten Zelle jeder Reihe. Das Ankreuzfeld ist eine ID, entsprechend einem Index und das Datum zugeordnet.
Wenn Benutzer treffen den Absenden-Button, wird der Code soll einen Wert aus jeder Zeile erhalten, die überprüft wird. Wenn jedoch durch die Reihen, keines des Kontrollkästchen je einen Wert true für die Eigenschaft Checked Looping. Die ID bestehen bleibt, aber der Wert der Checkbox scheint verloren zu sein.
Code für die Ankreuzfelder und fügte hinzu:
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);
Der Code für das Kontrollkästchen Wert bekommen:
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());
}
}
}













