PROGRAM VISUALBASIC

ASP.NET(VB.NET) MVCモデル入門~HTMLヘルパー(テキストボックス)

HTMLヘルパーのTextBoxを使ったプログラム

今回は、HTMLヘルパーのテキストボックス(TextBox)を使ったサンプルプログラムを作りましょう。
テキストボックスは、以下のようなHTMLの要素で、値を入力させるボックスです。
入力内容を数字のみや日付形式といった制限を付けることができます。

vbmvc21-1
テキストボックス

新規プロジェクトの作成

新規にプロジェクトを作成します。
今回のサンプルプログラムは、プロジェクト名を「HelperTextBox」として作成します。
プロジェクトの作成方法は、こちらの記事を参照してください。

ビューモデルの作成

ビューモデルを作成します。
数字のみ、文字列、日付形式の値を保持するためのプロパティを、それぞれ定義します。
ID(Id)は4桁のゼロ詰め、生年月日(Birthday)は「yyyy年MM月dd日」形式にします。

コントローラーの作成

今回は、コントローラーを1つだけ作成します。
この中に、入力用のビューを呼び出すInput()メソッドと、結果表示用のビューを呼び出すResult()メソッドを作成します。
Result()メソッドには、引数としてテキストボックスに入力された値を格納したモデルが渡されます。

入力画面用ビューの作成

入力画面用のビューを作成します。
HTMLヘルパーのHtml.TextBoxFor()メソッドを使って、テキストボックスを作成します。
Html.TextBoxFor()メソッドの使い方は、以下の通りです。

@Html.TextBoxFor(Function(model) model.プロパティ名 , 属性)

「Function(model) model.プロパティ」の部分は、ラムダ式といわれるもので、名前のない関数です。
Functionにmodelが渡され、modelの中のプロパティをHtml.TextBoxFor()メソッドに引数として渡しています。
modelの内容は、コントローラーから渡されます。
上記では、Functionの引数をmodelとしていますが、名前はなんでも構いません
詳しくは、以下のマイクロソフトの公式サイトを参照してください。

また、オプションで属性を指定することができます。
属性は、type、size、maxlengthなどが指定でき、「New With {.type="number"}」のように記述します。
属性を複数指定したい場合は、「New With {.type="number", size="20"」のようにカンマ(,)で区切ります。

結果表示用ビューの作成

テキストボックスに入力した値を表示するためのビューを作成します。
入力した値を、Html.DisplayFor()メソッドを使って表示します。

表示レイアウトの編集

ビューを作成すると、自動的に「Views/Shared/_Layout.vbhtml」が作成されるので、これを以下のように編集します。

スタイルシートの修正

このプロジェクトで使用するスタイルシート(Site.css)を、以下のように修正します。

プログラムの実行

テキストボックスに値を入力して、「送信」ボタンを押下します。
それぞれの入力内容が、ビューモデルで指定されたフォーマットで表示されます。

vbmvc21-2
入力画面
vbmvc21-3
結果画面

-PROGRAM, VISUALBASIC
-,