【ASP.NET Core 2.0】テンプレートヘルパーでModel の定義に従って最適な出力を得る
以下の記事の続きです。
公式のチュートリアルに沿って行います。
DIsplayFor / EditorFor などのテンプレート関連のビューヘルパーはモデルの定義に従って自動で最適にな出力を行います。
例えば EditorFor はモデルのプロパティが string 型ならテキストボックス、 bool 型ならばチェックボックスを出力します。
また、プロパティに対するアノテーションによっても出力するフォーマットなどを制御できます。
現在、以下のようにカラム名がすべて英語、ReleaseDate が時刻まで表示されてしまっています。
Models/Movie.cs ファイルを開き、以下のように編集します。
using System; using System.ComponentModel.DataAnnotations; namespace RazorPagesMovie.Models { public class Movie { public int ID { get; set; } [Display(Name = "タイトル")] public string Title { get; set; } [Display(Name = "公開日")] [DataType(DataType.Date)] public DateTime ReleaseDate { get; set; } [Display(Name = "ジャンル")] public string Genre { get; set; } [Display(Name = "価格")] public decimal Price { get; set; } } }
System.ComponentModel.DataAnnotations をインポートします。
出力したい内容に合わせて適切なアノテーションを設定します。
アプリを起動すると表示が改善されています。