Dinamik Tablo CheckBox'ları bir "İşaretli" gerçek değeri olmaması

oy
0

Ben C # olarak kod tabanı ile ASP.NET kullanarak bir web uygulaması üzerinde çalışıyorum. Ben bir SQL sorgusu dönüş dayalı boyutlandırır dinamik bir tablo var; Bir onay kutusu ile her sıranın üçüncü bir hücreye ilave edildi. Onay kutusu dizin ve tarihe göre bir kimlik atanır.

Kullanıcıların gönder düğmesi vurduğunda, kod kontrol edilir, her satırda bir değer elde etmek gerekiyordu. satırlar arasında döngü Ancak, onay kutularının hiçbiri İşaretli özellik için gerçek bir değeri vardır. Kimlik devam fakat onay kutusunun değeri kaybolmuş gibi görünüyor.

Onay kutuları eklemek için kodu:

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);  

onay kutusu değerini almak için kod:

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());  
        }  
    }  
}
Oluştur 04/08/2009 saat 16:17
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
0

Dinamik kontroller bir değere sahip değil en olası nedeni onlar ViewState yüklendikten sonra ya oluşturulmuş veya daha önce okunmuştur olmasıdır.

Genel olarak konuşursak, dinamik kontroller PageInit olayı sırasında oluşturulur ve sırasında veya PageLoad olaydan sonra okunmalı.

Cevap 04/08/2009 saat 16:26
kaynak kullanıcı

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