Dynamische Tabelle Checkbox nicht einen „Karo“ wahren Wert,

stimmen
0

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());  
        }  
    }  
}
Veröffentlicht am 04/08/2009 um 16:17
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
0

Die wahrscheinlichste Ursache für dynamische Kontrollen keinen Wert ist, dass sie entweder erstellt, nachdem Viewstate geladen wurde, oder vorher gelesen.

Generell dynamische Kontrollen sollten während oder nach der Pageload-Ereignis während der Pageinit Ereignis, und lesen Sie erstellt werden.

Beantwortet am 04/08/2009 um 16:26
quelle vom benutzer

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