ViewState無効時、先頭以外の項目を選択すると必ずSelectedIndexChangedイベントが走る

タイトルの様な挙動に気づくまでしばらくはまったのでメモ。

 

検証コード

 

動作確認

初回表示

image

 

それぞれ”F#”を選択してポストバック

image

 

そのままもう一度ポストバック

image

 

ASP.NET Webフォームの仕組みを考えれば当たり前といえば当たり前なのですが、なるべくViewStateは使わないようにする方向で進めるとここは落とし穴ですねぇ。

確認してみたら、MSDNライブラリにもちゃんと書いてありました。

ListControl.SelectedIndexChanged イベント (System.Web.UI.WebControls)

メモ メモ

このイベントが正常に動作するためには、サーバーへのポスト間でリスト コントロールがいくつかの値を永続化する必要があります。 リスト コントロールでビューステートが有効になっていることを確認してください。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中