1. ホーム
  2. postback

[解決済み] ポストバックとは何ですか?

2022-04-28 17:49:48

質問

Web制作の世界に足を踏み入れたところ、このような言葉を目にすることがあります。 ポストバック が投げかけられる。非ウェブベースの経歴からすると 新しいWeb開発者がポストバックについて知っておくべきことは何でしょうか?(つまり、それらは何であり、いつ発生するのか?)

その他、Webの世界の初心者がポストバックを意識するための情報があれば、教えていただけると大変ありがたいです。

解決方法は?

以下は、ASP.Netの初心者を対象としたものです...

どのような場合に起こるのでしょうか?

ポストバックは、クライアントのブラウザから発生します。通常、ページ上のコントロールの1つがユーザによって操作され(ボタンのクリック、ドロップダウンの変更など)、このコントロールによってポストバックが開始されます。このコントロールと、ページ上の他のすべてのコントロールの状態(ビュー状態として知られている)は、次のとおりです。 投稿 戻る をウェブサーバーに送信します。

どうなる?

ほとんどの場合、ポストバックはウェブサーバに、ポストバックを開始したページのコードビハインドクラスのインスタンスを作成させます。このページオブジェクトは、通常のページライフサイクルの中で実行されますが、若干の違いがあります(下記参照)。もし、ページのライフサイクルのどこかでユーザーを別のページに具体的にリダイレクトしなければ、ポストバックの最終結果は同じページが再びユーザーに表示され、さらに別のポストバックが発生し、といった具合になります。

なぜ起こるのでしょうか?

Webアプリケーションは、Webサーバー上で動作しています。ユーザーのレスポンスを処理したり、アプリケーションの状態を変更させたり、別のページに移動させたりするためには、Webサーバー上で実行するコードを取得する必要があります。これを実現する唯一の方法は、ユーザーが現在作業しているすべての情報を収集し、それをすべてサーバーに送り返すことです。

初心者が注意すべき点は...

  • 投稿返しのページのコントロールの状態は、コンテキスト内で確認できます。これにより、そこにある情報に基づいて、ページコントロールを操作したり、別のページにリダイレクトしたりすることができるようになります。
  • Web フォーム上のコントロールには、他のコントロールと同様にイベントがあり、そのためイベントハンドラも存在します。ページのライフサイクルの初期化部分は、ポストバックを引き起こしたコントロールのイベントハンドラより先に実行されます。したがって、ページの Init および Load イベントハンドラのコードは、ユーザがクリックしたボタンのイベントハンドラのコードよりも前に実行されます。
  • Page.IsPostBack" プロパティの値は、ポストバック後にページが実行される場合は "true" に、そうでない場合は "false" に設定されます。
  • AjaxやMVCなどの技術により、ポストバックの動作が変化しています。