У меня есть следующее поле даты и времени
[DisplayName("Expiry Date")]
[DataType(DataType.DateTime)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime ExpiryDate { get; set; }
И затем я отображаю это так (верхняя строка - это я проверяю, у меня действительно есть значение для ExpiryDate - оно отображается так, как я ожидал)
<div>
Current value: @Model.ExpiryDate.ToShortDateString()
@Html.TextBoxFor(model => model.ExpiryDate, "{0:dd/MM/yyyy}" , new { type = "date", @class = "form-control" })
</div>
Средство выбора даты (в Chrome) работает правильно для выбора даты - я могу выбрать дату, и она правильно связывается с моей моделью при отправке.Это также работает нормально, когда ExpiryDate не имеет значения, отображая «dd / mm / yyyy»
Но когда ExpiryDate имеет значение, текстовое поле по-прежнему отображает dd / mm / yyyy, а не 22/02 /2019 или любое другое значение
Как ни странно, текстовое поле, кажется, имеет правильное значение, когда я проверяю сгенерированный HTML, как показано ниже:
<input class="form-control" data-val="true" data-val-date="The field Expiry Date must be a date." data-val-required="The Expiry Date field is required." id="ExpiryDate" name="ExpiryDate" type="date" value="22/02/2019">
Я также пытался явно включить значение,включая @value = Model.ExpiryDate.ToShortDateString()
в атрибуты HtmlAttributes, что не имеет значения (не то, что я особенно ожидал этого, поскольку значение уже правильное)
Чего мне не хватает?