HttpContextオブジェクトによるページ遷移HttpContextオブジェクトによるページ遷移HttpContextクラスを利用するとデータをオブジェクトに包み込んでサーバー内でデータを送信します。PageオブジェクトのContextプロパティでHttpContextオブジェクトを取得できます。HttpServerUtilityオブジェクトを取得するHttpContextの主なプロパティこのHttpContextクラスにはいろいろなオブジェクトが入っています。その中のHttpServerUtillityオブジェクト(Serverプロパティ)が持つTransferメソッドで遷移することができます。「HttpResponseTest」プロジェクトを修正して作成しましょう。HttpResponseTestフォルダーをコピーして、作成するプロジェクト名にフォルダー名を変更してください。Transferに変更してください。プログラム(index.aspx.vb)次のようにbtnSend_Clickイベントハンドラを修正してください。Transferに変更してください。lblQueryStringを削除してください。プログラム(receive.aspx.vb)次のようにプログラムを記述してください。実行結果index.aspxを実行してください。解説index.aspx.vbの26、29行目では、ユーザーが入力した文字列をHttpContextオブジェクトに追加しています。コレクションにキー名、値のセットで登録します。32行目ではCheckBoxListコントロールをHttpContextオブジェクトに追加しています。Receive.aspx.vbの6、7行目は、HttpContextオブジェクトに追加しておいた文字列を、キー名を指定して取り出しています。HttpContextオブジェクトはオブジェクト型のデータを保存します。そのため、取り出したときにどのようなデータ型かを指定する必要があります。今回は、ToStringメソッドを使って文字列表現を取得しています。10行目ではHttpContextオブジェクトから、前のページで保存しておいたCheckBoxListコントロールを取り出しています。HttpContextオブジェクトから取り出したデータをCheckBoxListコントロールとして扱うためにCheckBoxList型にキャストして変数に格納しています。あとは、項目のリストを一つ一つ確認して、チェックされている項目を取り出して表示しています。今回のサンプルでは実行後のWebブラウザーのアドレス欄を見るとわかるように、URLが変化していません。サーバー内部で転送され、転送先の処理が結果としてWebブラウザーに表示されています。サーバーの内部でデータの転送が扱われるため、データのデータ型は文字列以外でも扱うことができます。