DropDownListのSelectedIndexChangedイベントが発生しない
-
29-10-2019 - |
質問
WebページにDropDownListオブジェクトがあります。それをクリックして別の値を選択すると、SelectedIndexChanged
イベントに接続された関数があっても、何も起こりません。ここにコードをできるだけ整然と投稿しようと思います:
まず、実際のオブジェクトのHTMLコード: ジェネラコディセタグプレ
これがその関数、itemSelected
です:
ジェネラコディセタグプレ
応答は表示されず、JavaScriptのその部分は実行されません。これをFirefoxの最新の3.6バージョンとInternetExplorer 8で試しました。これは、.NETFrameworkバージョン4でASP.Netを実行しているWindowsServer 2003R2マシンから提供されています。
誰かが助けてくれるなら、それは素晴らしいことです。
解決
DropDownListのAutoPostBack
プロパティをtrueに設定します。
例: ジェネラコディセタグプレ
他のヒント
DropDownListにAutoPostBack="True"
を設定してみてください。
少し古い投稿を知っていますが、それでも上記の回答に何かを追加したいと思います。
で、ドロップダウンリストの複数のアイテムの「値」が重複/同じである場合があります。したがって、この「 onselectedindexchanged 」イベントをトリガーするためにリストアイテムに繰り返し値がないことを確認してください
プロパティViewStateMode="Enabled"
とEnableViewState="true"
を追加します
そして、ドロップダウンリストのAutoPostBack="true"
また、ページが有効であることを確認してください。 これはブラウザ開発ツール(F12)で確認できます
[コンソール]タブで正しいターゲット/フレームを選択し、[Page_IsValid]プロパティを確認します
ページが無効な場合、フォームは送信されないため、イベントは発生しません。
私にとっての答えはaspxページ属性でした。ページ属性にAsync="true"を追加しましたが、これで問題は解決しました。 ジェネラコディセタグプレ
これは私の更新パネルの構造です ジェネラコディセタグプレ
コードを記述した代わりに、ドロップダウンリストコントロールegpのSelectedIndexChangedイベントに直接記述できます> ジェネラコディセタグプレ