Am o pagină cu un tabel de lucruri și am nevoie pentru a permite utilizatorului să selecteze rânduri pentru a procesa. M - am dat seama cum să adăugați o coloană de casete de selectare la masă , dar pare că nu pot să dau seama cum de a testa dacă acestea sunt verificate atunci când formularul este depus. Dacă ar fi elemente statice, aș fi în stare să verifice doar face , this.theCheckBoxdar acestea sunt generate programaticly.
De asemenea, nu sunt foarte fericit cu modul în care atașez datele mele pentru a le (de umplutura in imobil ID).
Nu sunt sigur dacă este relevant , dar mă uit la un pic de o captura-22 așa cum am nevoie să știe care dintre casetele de selectare care au fost create ultima dată în jurul au fost verificate înainte de a putea re-rula codul pe care le -a creat.
Editare:
Am găsit o soluție aproape. Prin setarea AutoPostBackproprietății și CheckedChangedevenimentul:
checkbox.AutoPostBack = false;
checkbox.CheckedChanged += new EventHandler(checkbox_CheckedChanged);
Pot obține codul să fie numit pe un post din spate pentru orice casetă de validare care sa schimbat. Totuși, acest lucru are două probleme:
- Apelul din spate este procesată după (sau în timpul, nu sunt sigur) , în
Page_Loadcazul în care am nevoie pentru a utiliza aceste informații - Apelul din spate nu este chemat pentru casetele de selectare care au fost verificate atunci când pagina încărcată și încă sunt.
Edit 2:
Ceea ce am ajuns să fac a fost etichetați toate lui ID - ul meu cu un prefix și știu acest lucru umplutura la partea de sus a Form_Load:
foreach (string v in this.Request.Form.AllKeys)
{
if (v.StartsWith(Prefix))
{
var data = v.Substring(Prefix.Length);
}
}
totul pare să ruleze până la sfârșitul lunii.













