Joh*_*ean 0 asp.net entity-framework date asp.net-mvc-5
我有一个Timetable模型,目前只有两个属性,一个Id和Date.它定义如下:
public class Timetable
{
public int Id { get; set; }
[Required, Column(TypeName = "Date"), DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime Date { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后我构建了一些基本的CRUD功能,并且由于DisplayFormat注释,它允许我创建带有日期dd/MM/yyyy格式的时间表.但是,当我编辑现有时间表时,应用程序将填充Date文本框01/01/2015 00:00:00(参见屏幕截图).

有没有办法让我的应用程序只使用日期,而不是日期和时间?
小智 6
为了<input type="date" ..>使用EditorFor()您渲染浏览器datepicker(),您需要在属性上使用以下属性(请注意,ISO格式表示日期将根据浏览器文化显示)
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode=true)]
[DataType(DataType.Date)]
public DateTime Date { get; set; }
Run Code Online (Sandbox Code Playgroud)
并在视图中
@Html.EditorFor(m => m.Date)
Run Code Online (Sandbox Code Playgroud)
请注意,旧版浏览器不支持HTML5日期输入,FireFox中根本不支持HTML5日期输入 - 请参阅此处的比较