シンプルな ASP.NET アプリケーション。
2 つのドロップダウン コントロールがあります。最初のドロップダウンには、JavaScriptonChange
イベントがあります。JavaScript は 2 番目のドロップダウンを有効にし、そこから値 (最初のドロップダウンで選択された値) を削除します。ドロップダウンの空白の最初の値をクリックすると、2 番目のドロップダウンが無効になります (オプションがリセットされます)。
OnPreRender
メソッドには、最初のドロップダウンの値に基づいて 2 番目のドロップダウンを有効または無効にするコードもあります。これは、最初のドロップダウンの値をコードで選択できるようにするためです (ユーザー設定の読み込み)。
私の問題は次のとおりです。
- ユーザーは最初のドロップダウンで何かを選択します。2 番目のドロップダウンは、JavaScript によって有効になります。
- 次に、ポスト バックを開始する 3 番目のドロップダウンを変更します。ポストバック後、ドロップダウンは正しい状態になります (最初の値が選択され、2 番目のドロップダウンが有効になります)。
- その後、[戻る] ボタンをクリックすると、最初のドロップダウンで何かが選択されているため、2 番目のドロップダウンが有効になるはずですが、無効になります。
を介してスタートアップ スクリプト (2 番目のドロップダウンの正しい状態を設定する) を追加しようとしましたがClientScript.RegisterStartupScript
、これが呼び出されると、最初のドロップダウンには実際の状態ではなく、 selectedIndex
ofがあります。0
私の推測では、開始スクリプトの後に選択の値が設定されます (ただし、まだスクリプトは呼び出されませんonChange
)。
何を試すかについてのアイデアはありますか?