Для этого можно использовать помощник @Html.TextBox()
или строго типизированный @Html.TextBoxFor()
, установив DisplayFormatAttribute
или формат даты непосредственно в помощнике:
Свойство Viewmodel
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
public DateTime DeliveredDate { get; set; }
Просмотр
@Html.TextBox("DeliveredDate", Model["order"].DeliveredDate, "{0:MM/dd/yyyy}", new { type = "date" })
@Html.TextBoxFor(model => model.DeliveredDate, "{0:MM/dd/yyyy}", new { type = "date" })
Или использование EditorFor
путем установки формата даты, к которому автоматически добавляется атрибут type = "date"
:
@Html.EditorFor(model => model.DeliveredDate)
Если вы используете тег-помощник, просто установите атрибут asp-for
:
<input asp-for="DeliveredDate" type="date" />
Примечания:
1) Убедитесь, что вы уже установленызначение даты внутри действия контроллера, например, model.DeliveredDate = DateTime.Now
(model
имеет тип Model["order"]
).
2) Последний подход требует установки DisplayFormatAttribute
в свойстве viewmodel, поскольку нет параметра для форматирования строки для установкиформат из EditorFor
или сам помощник по тегам.