ポイント
- データベースから取得した年月日をビューに渡しても、ウェブブラウザに表示できなかったのが発端
- 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; }
おわりに
次のページが参考になりました!ありがとう存じます♪
- HTML5 – input type = ‘date’ に初期値を設定したいときの日付フォーマット – Qiita
HTML の仕様をかいつまんで確認することができて嬉しかったですわ♪ - DataType 属性でお手軽 HTML5 Input Types 対応 – しばやん雑記
type の指定の仕方がわかって嬉しかったですの♪
以上です。