2008-09-16 20 views
8

DropDownListコントロールを含むASP.Net Webフォームを作成しています。次に、ユーザーがドロップダウンの1つで選択した項目を変更すると、ASP.Netは、フォームが[送信]ボタンのクリックとともに送信されるまで、SelectedIndexChangedイベントを処理していないようです。 ドロップダウンでSelectedIndexChangedを即座に処理させるにはどうすればよいですか?DropDownListはSelectedIndexChangedにポストバックしません

P.S.それは私が何回も答えた古典的な質問ですが、誰もそれがstackoverflowの前にそれを尋ねたようです。

答えて

23

プロパティをtrueに設定すると、選択が変更されたときにポストバックが発生します。これにはjavascriptが有効になっている必要があります。

+1

また、コントロールではviewstateを有効にする必要があります。 – LosManos

3

DropDownListのAutoPostBackプロパティをtrueに設定します。

10

リストのAutoPostBackプロパティをtrueに設定する必要があります。

また、コードリストからドロップダウンリストの内容を取り込む場合(たとえば、データベースからリストの内容を取得する場合) - すべてのデータを再度バインドしないようにしてくださいポストバック。

場合によっては、ページロードイベントのドロップダウンをIf Not IsPostBackに入れずにバインドすることで、ユーザーをキャッチすることがあります。これにより、イベントは発生しません。

リピータとItemCommandイベントも同じです。

4

ページのロード中にドロップダウンリストを入力すると、ページのポストバックのたびにリストがリロードされ、ポストバックの方法が無効になります。 (!ispostback)の場合にのみドロップダウンリストを確実に読み込む必要があります

+0

これは答えであったはずです。なぜなら、遅延設定AutoPostBack = "true"は他のコントロールにも影響する可能性があるため、常に機能するとは限りません。ページ全体が返信されます! – Fandango68

+0

これは本当の答えです!ありがとう! –

関連する問題