0

if(!IsPostback)ブロック内にリストを追加することを推奨する投稿を見たことがあります。

ただし、私はポストバックに応じてドロップダウンリストを生成するだけなので、それがうまくいくとは思いません。

私が現在行っているのは、のドロップダウンリストをデータバインドすることですPage_Init。ただし、「要素の検査」を使用して新しい選択が行われた後(したがって、自動ポストバックがトリガーされた後)にリストを検査すると、リストの最初の項目が常に「選択」されていることがわかります。

ポストバックで選択したものを維持する方法を教えてください。

4

1 に答える 1

1

Page_Init でコントロールをバインドすると、選択が失われます。そうしないでください。

コントロールを 1 回バインドすると、ViewState はコントロール データを保持します。しかし、選択が変更されると、それがサーバーに送信され、SelectedIndexChangedイベントが発生します。


Renderより一般的には、フェーズの前にコントロールに設定したプロパティは、ViewState に保存されます。次の Post Back で、コントロールは ViewState の内容をロードするため、PostBack の前の状態に自身を復元します。

その後、コントロールは PostBack で送信された POSTed 値を記録します。これには、選択内容、テキスト ボックスの内容などの変更が含まれます。コントロールは、ViewState の以前の状態から変更があったことを示すために、適切なsomething Changed イベントを発生させます。

于 2013-01-18T03:26:36.043 に答える