Simplă aplicație ASP.NET.
Am două controale de tip drop-down. Pe primul drop-down am un eveniment JavaScript peChange
. JavaScript permite cel de-al doilea drop-down și elimină o valoare din acesta (valoarea selectată în primul drop-down). Dacă dau clic pe prima valoare necompletată a drop-down, atunci al doilea drop-down va fi dezactivat (iar opțiunile vor fi resetate).
De asemenea, am cod în metoda OnPreRender
care va activa sau dezactiva al doilea drop-down pe baza valorii primului drop-down. Aceasta este astfel încât valoarea primului drop-down poate fi selectată în cod (încărcarea setărilor de utilizator).
Problema mea este:
- Utilizatorul selectează ceva în primul drop-down. Al doilea drop-down va fi activat prin JavaScript.
- Apoi schimba un al treilea drop-down care inițiază un post înapoi. După postarea înapoi, meniurile derulante sunt în starea corectă (prima valoare selectată, al doilea drop-down activat).
- Dacă apoi dau clic pe butonul din spate, cel de-al doilea drop-down nu va mai fi activat, deși ar trebui să fie deoarece există ceva selectat în primul drop-down.
Am încercat să adaug un script de pornire (care va stabili starea corectă a celei de-a doua drop-uri în jos) prin ClientScript.RegisterStartupScript
, totuși atunci când acesta este numit primul drop-down are un
din 0
, nu ceea ce este de fapt. Cred că valoarea selecției este setată după scriptul de pornire (dar încă nu apelează scriptul onChange
).
Orice idei despre ce să încercați?