Dynamische Tabel CheckBoxes niet een "gecontroleerd" werkelijke waarde

stemmen
0

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());  
        }  
    }  
}
De vraag is gesteld op 04/08/2009 om 16:17
bron van user
In andere talen...                            


1 antwoorden

stemmen
0

De meest waarschijnlijke oorzaak van dynamische elementen ontbreken van een waarde die ze ofwel zijn gemaakt nadat weergavestatus is geladen, of eerder gelezen.

In het algemeen moeten dynamische elementen worden gemaakt tijdens de PageInit gebeurtenis, en te lezen tijdens of na de pageLoad evenement.

antwoordde op 04/08/2009 om 16:26
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more