1

私の Web ページには、データベース テーブルからいくつかの値を取得する Page_Load メソッドで作成された gridview があります。クリックすると、テーブルから行を追加/削除するイベントハンドラーを引き起こすボタンもあります。現在、ボタンを押すとイベント ハンドラーが実行されますが、別のポストバックが発生するまでグリッドビューは更新されません。

私には、これは、イベント ハンドラーが実行される前にポストバックが発生することを意味しているように思えます。これは正しいです?もしそうなら、ボタンを押すとテーブルが更新されてからグリッドビューがリロードされるようにするにはどうすればよいですか? イベントハンドラーで gridview データソースを再作成できると思いますが、それは問題にアプローチする非常に非効率的な方法のようです。

4

1 に答える 1

6

それは正しいです。イベントControl Events終了後に処理されます。Page Load

MSDNの に関するこのドキュメントPage Lifecycleを確認してください。

これを理解するのに役立つのは、Page_LoadメソッドとButton Clickイベント ハンドラーのコードにブレークポイントを設定し、ボタンをクリックして、各ブレークポイントがいつヒットするかを確認することです。

の場合Gridview、ポストバック後に変更を表示するには、バインディング コードを再度呼び出す必要があります。これを行う最善の方法は、バインディング コードを使用してメソッドを作成し、イベント ハンドラーから呼び出すことです。

于 2012-09-13T16:49:32.597 に答える