カテゴリー
Microsoft

【ASP.NET MVC5】input type=”date” に初期値を設定する時のモデルの属性指定

ポイント

  • データベースから取得した年月日をビューに渡しても、ウェブブラウザに表示できなかったのが発端
  • 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; }