PROGRAM VISUALBASIC

ASP.NET(VB.NET) Webフォーム入門~マスターページの画面遷移

マスターページ上で画面を遷移するプログラムを作成する

今回は、マスターページ内のフォームを遷移させるプログラムを作成します。
フォームを二つ作成し、入力用フォームにテキストボックスと送信ボタン、表示用フォームに入力した値を表示するためのラベルを配置して、入力用フォームの送信ボタンを押下すると、表示用フォームに遷移するという動作をします。
なお、マスターページやWebフォームを作成する手順は、こちらの記事を参照してください。

新しいプロジェクトの作成

新規にプロジェクトを作成します。
今回のサンプルプログラムは、プロジェクト名を「SmpWebForm2」として作成します。

Webフォームのマスターページの作成

Webフォームのマスターページを作成します。
マスターページ名は、「SmpSite.Master」とします。

Webフォームの作成と編集

ソリューションエクスプローラーから入力用Webフォームを「WebForm1」として作成し、以下のように編集します。
送信ボタンに、PostBackUrlプロパティを追加して、表示用フォームを指定します。
PostBackUrlプロパティの詳細は、以下のマイクロソフトの公式サイトを参照してください。

同様に、表示用Webフォームを「WebForm2」として作成し、以下のように編集します。

Request.FormメソッドでPOSTされた値を取得する

次に、入力用フォームのテキストボックスに入力された値を、表示用フォームで取得する処理を追加します。
以下のように「すべてのファイルを表示」アイコンをクリックして、「WebForm2.aspx.vb」を開きます。

vbweb2-3

表示用フォームがロードされたタイミングで入力された値を取得したいので、Page_Load()メソッドに処理を追加します。
Request.Form()メソッドを使うと、POSTされた値を取得することができます。

ここで注意しなければならないのは、マスターページの場合は「TextBox1」のようなコントロール名だけではなく、「マスターページID$プレイスフォルダー名$コントロール名」というように記述しなければならないということです
マスターページIDのデフォルトは「ctl00」(00は連番)ですが、今回はマスターページクラスのコンストラクターにIDを設定しています。

プログラムを実行する

WebForm1.aspxを開いた状態で、Visual Studioの上部にある「IIS Express (Google Chrome)」をクリックして、プログラムを実行します。

vbweb2-4

テキストボックスに適当な文字列を入力して、送信ボタンを押下します。

vbweb2-5

画面が遷移して、テキストボックスに入力した値が表示されます。
アドレスが、WebForm1.aspxからWebForm2.aspxに変わっているのが分かります。

vbweb2-6

-PROGRAM, VISUALBASIC
-,