PROGRAM VISUALBASIC

ASP.NET(VB.NET) MVCモデル入門~ViewModelの使い方

ViewModelを使ってビューにオブジェクトを渡す

コントローラーからビューに値を渡す方法として、ViewData()やTempData()がありますが、これらは一つのパラメーターしか渡すことができません。
複数のパラメーターをビューに渡すには、ViewModelを使います。
以下に、ViewModelの作成手順と使い方を記述します。

ViewModelの作成

ViewModelは、クラスとして定義します。
ソリューションエクスプローラーからModelsフォルダにカーソルを合わせます。

vbmvc4-1

右クリックして、「追加」→「クラス」を選択します。

vbmvc4-2

クラスが選択されていることを確認して、名前を入力し、「追加」ボタンを押下します。
※クラス名は、コントローラーと違い自由に付けることができますが、ViewModelであることが分かる名称にします。

vbmvc4-3

Modelsフォルダ配下に、クラスが作成されます。

vbmvc4-4

ViewModelの編集

作成したViewModelのクラスをダブルクリックして、以下のように編集します。
ViewModelに定義する値は、ビューで使用するため「Public Property」にします。

コントローラーの編集

ViewModelを作成したら、コントローラーでViewModelが使えるようにインスタンス化して、値を設定します。
View()の引数として、インスタンス化したViewModelを渡します。

ビューの編集

ビューでViewModelを受け取るために、ViewModelの型を指定する必要があります。
ビューの先頭行に、以下のような記述をします。

@ModelType ViewModel名

ビューが受け取ったViewModelは、ビュー内でModelオブジェクトに紐づけられます。

プログラムの実行

プログラムを実行すると、以下のようにコントローラーで設定した値が表示されます。

vbmvc4-5
実行結果

-PROGRAM, VISUALBASIC
-, , ,