PROGRAM VISUALBASIC

ASP.NET(VB.NET) MVCモデル入門~表示形式を指定する

アノテーションで表示形式を指定する

前回の記事では、アノテーションを使ってラベルを設定しました。
今回は、前回作成したプログラムを元に、アノテーションを使って、表示形式を指定します。
アノテーションを使った表示形式の指定方法に関する詳しい情報は、以下のマイクロソフトのサイトを参照してください。

表示形式の設定方法

ViewModelで定義したプロパティの表示形式を指定するには、DisplayFormatを使います。
プロパティの上に、<DisplayFormat(DataFormatString:="表示形式")>と記述します。
この時、赤波線が表示されるので、そこにカーソルを合わせると、System.ComponentModel.DataAnnotationsのインポートが促されるので、画面に従ってインポートします。

vbmvc6-1

前回までは、生年月日が「2000/01/01 00:00:00」のように時分秒まで表示されていましたが、表示形式を「0:yyyy年MM月dd日}」にすると、「2000年1月1日」と表示されます。

表示形式を指定した値の表示方法

ViewModelで表示形式を指定しても、ビューで@Model.Birthdayとすると、指定通りの形式で表示されません。
指定した形式通りに表示するには、HTMLヘルパーのDisplayFor()を使用します。
DisplayFor()の引数の指定は、前回のLabelFor()と同様です。

Html.DisplayFor(Function(モデル) モデル.プロパティ名)

DisplayFormatを使っているのは、Birthday(生年月日)だけですが、ビューでモデルの値を表示する際は、DisplayForを使うのが一般的なので、他の項目もDisplayForを使って表示させるようにします。

プログラムの実行

プログラムを実行すると、下図のように生年月日が「yyyy年MM月dd日」の形式で表示されます。

vbmvc6-2
実行結果

-PROGRAM, VISUALBASIC
-,