.net column

.NET開発者のためのブログメディア
ポストバック

【ASP.NET Webフォームの基本】ポストバックの仕組みを解説

2020年04月08日

ASP.NETなどのWebフォームアプリケーションでは、サーバーとの通信を行う際にフォームデータをパラメータとして渡す方式が用意されています。ポストバックはその中でも特殊なデータのやり取りを行う方式です。

SE
ポストバックってどういうデータのやり取りをするんですか?
PL
イベントハンドラーなどとは違い、少し特殊です。仕組みから説明していきますね。

ポストバックの概要や仕組み

ポストバックとは、ASP.NETなどのWebフォームのデータをやり取りする上でのデータ受け渡し方法の一つで、遷移先のページへ必要なデータを送ることができます。遷移先が異なる場合はポストになりますが、ポストバックは送り元になるページ自身にデータを戻すのが特徴です。

テキストなどに入力されたユーザーからのデータを、ボタンを押すなどのタイミングで発生するイベントハンドラーで処理された後サーバーに送信し、元のページには処理したデータを基にした画面表示をします。最初に表示しているフォーム画面と同じものをデータ送信先のページとして利用したい場合に、新たにページソースを作成する必要がなくなります。このように、ソースの管理がしやすくなるのが大きなメリットです。

イベントハンドラーとの違い

イベントハンドラーはボタン押下など、発生するイベント処理を定義しているコードのことです。その一連の処理の流れで、サーバーへのデータ送信が行われる場合にポストバックなどの送信方式に従って、Webページ上のデータのやり取りが行われます。

ASP.NETではボタンの押下のほか、テキスト変更、マウスクリックなど、数多くのイベントと関連付けが可能です。データ送信の対象は表示されるデータのほかに、内部的に保持されている隠しデータなども対象になります。

SE
ポストバックって、自分自身で処理する流れになるんですね。
PL
最初に開いたときと、データを送られたときの処理をうまく分ける必要がありますが、同じページで表示したいときには是非とも利用したいところでしょう。

自分自身にデータを送ることで送り先のページを作る必要がない

同じページで処理したい場合においても、ポストで送信すると送り先のページを新たに作る必要がありますが、ポストバックはこの問題を解消することができ、ページソースの管理がしやすくなります。その分、コードの複雑さは増しますが、利用するメリットは十分にあるでしょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)