He estado trabajando en una aplicación web usando ASP.NET con la base de código como C #. Tengo una tabla dinámica que cambia de tamaño en función de un retorno de una consulta SQL; con una casilla de verificación agregada en la tercera celda de cada fila. A la casilla de verificación se le asigna una ID según un índice y la fecha.
Cuando los usuarios presionan el botón de enviar, se supone que el código obtiene un valor de cada fila que está marcada. Sin embargo, al pasar por las filas, ninguna de las casillas de verificación tiene un valor verdadero para la propiedad Comprobada. La ID persiste, pero el valor de la casilla de verificación parece haberse perdido.
Código para agregar las casillas de verificación:
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);
El código para obtener el valor de la casilla de verificación:
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());
}
}
}













