путь Офелии - моя более быстрая версия. Но этот способ полезен, если в вашем приложении будет несколько полей даты. Вот как мне нравится это делать:
-> В вашем обозревателе решений создайте папку внутри Shared с именем " EditorTemplates "
-> Там добавьте новый ( не строго типизированный) Частичное представление . Назовите это "DateTime
".
-> Откройте это представление, удалите любой код и добавьте туда следующий код:
@model System.DateTime
@Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue, new { @class = "date" /* + any other html attributes you want */ })
-> В вашей ViewModel поле даты должно быть таким:
[Display(Name = "My Date:"), DisplayFormat(DataFormatString = "{0:dd-MMM-yyyy}", ApplyFormatInEditMode = true)]
public DateTime MyDate { get; set; }
-> В вашем главном представлении и в любом представлении, в котором вы хотите использовать поле даты, вы можете просто использовать EditorFor
в свойстве, например:
@Html.EditorFor(m => m.MyDate)
Вы можете инициализировать поле даты в вашем контроллере или установить дату по умолчанию в конструкторе вашей модели представления.