Prosta aplikacja ASP.NET.Uruchamianie JavaScript po wybraniu wartości kontrolnej zostało ustawione
Mam dwie kontrolki rozwijane. W pierwszym drop-down mam zdarzenie JavaScript onChange
. JavaScript włącza drugie menu rozwijane i usuwa z niego wartość (wartość wybraną w pierwszym menu rozwijanym). Jeśli klikną pustą pierwszą wartość rozwijanego menu, drugie menu zostanie wyłączone (a opcje zresetowane).
Mam również kod w metodzie OnPreRender
, który włącza lub wyłącza drugi menu rozwijany na podstawie wartości pierwszego menu rozwijanego. Jest tak, że wartość pierwszej listy rozwijanej można wybrać w kodzie (ładowanie ustawień użytkownika).
Mój problem jest:
- Użytkownik wybiera coś w pierwszej listy rozwijanej. Druga lista rozwijana zostanie włączona za pomocą JavaScript.
- Następnie zmieniają trzecią listę rozwijaną, która inicjuje wysłanie z powrotem. Po powrocie listy rozwijane są w poprawnym stanie (wybrana pierwsza wartość, włączone drugie menu rozwijane).
- Jeśli następnie klikną przycisk Wstecz, drugie menu rozwijane nie będzie już włączone, chociaż powinno być, ponieważ coś jest zaznaczone w pierwszym menu rozwijanym.
Próbowałem dodanie skryptu startowego (która będzie ustawić prawidłowy stan drugiej rozwijanej przez ClientScript.RegisterStartupScript
), jednak gdy ten zostanie wywołany pierwszym rozwijanej ma selectedIndex
z 0
, a nie to, co faktycznie jest. Domyślam się, że wartość selekcji jest ustawiana po moim skrypcie startowym (ale nadal nie nazywa się skryptem onChange
).
Wszelkie pomysły na temat tego, co należy wypróbować?