連載
» 2007年09月28日 00時00分 公開

VB6開発者のためのASP.NET開発入門:第3回 ASP.NET開発の最初の壁:ポストバックとイベント・ハンドラ (1/4)

ASP.NET開発に失敗する原因の1つは、ポストバックとイベントに対する理解不足。これらの仕組みを正しく理解しよう。

[宮崎 昭世(Microsoft MVP for ASP/ASP.NET),日立ソフトウェアエンジニアリング]
  VB6開発者のためのASP.NET開発入門 
業務アプリInsider/Insider.NET

powered by Insider.NET

「  VB6開発者のためのASP.NET開発入門 」のインデックス

連載目次

 前回は、VB6と同様の手法でWebアプリ(本稿では「アプリケーション」は「アプリ」と略す)を開発するためのASP.NETの機能を紹介した。

 今回は、この中でもVB6開発者にとって新しい概念となる「ポストバック」についてもう少し詳しく掘り下げて見ていくことにしよう。

ポストバックの仕組み

 ポストバックとは、ASP.NETの開発時にHTTP処理を隠ぺいするための機能であることは、前回説明した。今回はその仕組みを簡単に説明する。

 始めに、Webページ上のボタンをクリックしたときの処理の流れを見てみよう。

 前回示したPerl言語を使った従来のWebアプリでは、ボタンを配置してあるページと、ボタンをクリックしたときに呼び出されるページが別であった。

Perlを使ったWebアプリの動作例
Perl言語を使ったWebアプリでは、現在ブラウザに表示されている内容を記述したファイルと、ボタンをクリックしたときに呼び出されるファイルは異なるのが一般的な構造であった。

 VB6では、ボタンの配置も、ボタンをクリックしたときに呼び出される処理も、同じフォーム・ファイルに記述したかと思う。これと同じ仕組みをHTTPプロトコルの上で実現するために考えられたのが、ASP.NETのポストバックである。

ASP.NETを使ったWebアプリの動作例
ASP.NETでは、現在ブラウザに表示されている内容を記述したファイルと、ボタンをクリックしたときに呼び出されるファイルは同じになる。

 このように、ASP.NETを使ったWebアプリでは、ボタンを配置してあるページと、ボタンをクリックしたときに呼び出されるページは基本的に同じとなる。

 これは「ポストバック」という名前からも、うかがい知ることができる。Webアプリでは、ボタンをクリックしたときにサーバ側の処理を呼び出す通信のことを「ポスト」と呼ぶ。前回示したPerl言語を使ったWebアプリでも同様だが、ASP.NET以外の多くのWebアプリ開発言語を使う場合には、このポスト処理は現在表示されているページとは別のページに対して行われることが多い。

 ASP.NETでは基本的に、ポスト処理は現在表示されているページ自身に対して行う。すなわちポストを自分自身に戻す(=Back)ということで、「ポストバック」という名前となっている。

 では実際に、ボタンをクリックした際に発生するポストバックについて見ていくことにしよう。

       1|2|3|4 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。