I have a Timetable
model which only has two attributes at the moment, an Id
and Date
. It's defined as so:
public class Timetable
{
public int Id { get; set; }
[Required, Column(TypeName = "Date"), DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime Date { get; set; }
}
I then scaffolded some basic CRUD functionality, and thanks to the DisplayFormat
annotation it's allowing me to create timetables with dates in the dd/MM/yyyy
format. However, when I edit an existing timetable, the application is populating the Date
text box with 01/01/2015 00:00:00
(see screenshot).
Is there any way to make my application only use the date, rather than date and time?
In order to render the browsers datepicker (
<input type="date" ..>
) usingEditorFor()
you need the following attributes on the property (note the ISO format means the date will be displayed in accordance with the browser culture)and in the view
Note the HTML5 date input is not supported in older browsers, and not at all in FireFox - see comparison here