Byl jsem pracovat na webových aplikací pomocí ASP.NET kódem báze jako C #. Mám dynamickou tabulku, která změní velikost na základě návratu z SQL dotazu; s políčko přidává ve třetí buňce každého řádku. Zaškrtávací políčko je přidělen identifikátor podle indexu a datum.
Když uživatelé narazí na tlačítko odeslat, kód by měl mít hodnotu z každého řádku, který je kontrolován. Nicméně, když průchozí řádky, žádný z políček stále mají hodnotu true pro odbavené majetku. ID přetrvává, ale hodnota tohoto políčka se zdá být ztracena.
Kód pro přidání zaškrtávacích políček:
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);
Kód pro získání hodnoty políčka:
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());
}
}
}













