0

2つのドロップダウンリスト(ddl1ddl2)と1つのボタンがあります。ddl1イベントを発生させる値を選択しますddl1_selectedIndexChanged。その場合、によって選択された値ddl1はSELECTステートメントでデータベースに送られ、WHERE句を使用して必要なデータの行がフェッチされます。この新しいデータテーブルにデータが入力されddl2ます。から値を選択した後dd12、ボタンを押します。ddl2_selected_valueボタンを押したら、button_clickイベントで使いたいです。問題は、ボタンを押すと、ddl1_selectedIndexChangedイベントが予期せず発生し、ddl2再びバインドされて、が失われることddl2_selectedValueです。

ddl1 - EnableViewState True, PostBack = True

ddl2 - EnableViewState True, PostBack = False
4

2 に答える 2

1

ddl1 に値を設定しているページ ロードに何かありますか。

その場合、ページの読み込みで PostBack を確認する必要があります。

if(!Page.IsPostBack)
{
//Call method to populate ddl1.
//ddl1 will load only once.
}
于 2012-12-06T19:28:34.590 に答える
0

私はネット上でさらにいくつかのブログを調べることで問題を解決しました。私がやっていたのは、これらのコントロールのセット全体をaspPanelで作成したことです。このパネルのviewStateプロパティはFalseに設定されました。trueに変更するとすぐに、不要なselectedindexchangedイベントが抑制されました。

これでうまくいきました。:)

しかし、それは予感でした。私はこれが起こった理由をまだ知りませんでしたか?

説明は大歓迎です。

@アルン:心配してくれてありがとう。

于 2012-12-07T17:46:31.210 に答える