ポイント
- データベースから取得した年月日をビューに渡しても、ウェブブラウザに表示できなかったのが発端
- input タグの value のフォーマットを yyyy-MM-dd と指定する必要があった。
コード例
- [DataType(DataType.Date)] と指定することで、ビューの EditorFor の input type は自動的に date となる。
- DisplayFormat の DataFormatString を “{0:yyyy-MM-dd}” と指定することで、input の value が 2015-10-07 といったフォーマットになる。
- DisplayFormat の ApplyFormatInEditMode を true と指定することで、フォームの年月日を修正しても yyyy-MM-dd のフォーマットが保たれる。
モデルのプロパティ「誕生日」を例にしたコード
[DisplayName("誕生日")] [DataType(DataType.Date)] [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)] public DateTime BirthDay { get; set; }