Δυναμική Πίνακας πλαίσια ελέγχου που δεν έχει «ελεγμένο» πραγματική αξία

ψήφοι
0

Έχω εργαστεί σε ένα web app χρησιμοποιώντας ASP.NET με τον κωδικό βάσης όπως C #. Έχω ένα δυναμικό πίνακα που αλλάζει μέγεθος βασίζεται σε μια επιστροφή από ένα ερώτημα SQL? με ένα πλαίσιο ελέγχου προστίθενται στο τρίτο κύτταρο της κάθε σειράς. Το πλαίσιο ελέγχου εκχωρείται ένα αναγνωριστικό σύμφωνα με ένα δείκτη και την ημερομηνία.

Όταν οι χρήστες χτύπησε το κουμπί υποβολής, ο κωδικός υποτίθεται για να πάρει μια τιμή από κάθε σειρά που ελέγχεται. Ωστόσο, όταν looping μέσα από τις γραμμές, κανένα από τα πλαίσια ελέγχου έχουν ποτέ τιμή ισχύει για το ελεγμένο ιδιοκτησίας. Η ταυτότητα παραμένει, αλλά η αξία του πλαισίου ελέγχου φαίνεται να χάνεται.

Κώδικας για την προσθήκη πλαίσια ελέγχου:

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

Ο κωδικός για να πάρει την τιμή κουτάκι:

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());  
        }  
    }  
}
Δημοσιεύθηκε 04/08/2009 στις 16:17
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
0

Η πιο πιθανή αιτία για τη δυναμική έλεγχοι δεν έχει αξία είναι ότι είτε δημιουργήθηκαν μετά έχει φορτωθεί ViewState, ή να διαβάσετε πριν.

Σε γενικές γραμμές, δυναμική έλεγχοι θα πρέπει να δημιουργηθεί κατά τη διάρκεια της εκδήλωσης PageInit, και να διαβάσετε κατά τη διάρκεια ή μετά το συμβάν PageLoad.

Απαντήθηκε 04/08/2009 στις 16:26
πηγή χρήστη

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