ASP.Net Core MVC ввод даты - PullRequest
0 голосов
/ 26 июня 2018

Я создал представление редактирования для модели EF, и у меня возникла проблема с средством выбора даты. Всякий раз, когда я пытаюсь отредактировать набор данных, в окне редактирования не отображаются старые значения даты.

Это мой код Edit.cshtml:

<div class="form-group">
    <label asp-for="BestellungsDatum" class="control-label"></label>
    <input asp-for="BestellungsDatum" type="date" class="form- control" value="@Model.BestellungsDatum" /> 
    <span asp-validation-for="BestellungsDatum" class="text-danger"></span>
</div>

Вот как это выглядит, но в этой позиции должно быть старое значение:

enter image description here

Когда я изменяю ввод на type = "text", отображается значение, но нет средства выбора даты. Какие-либо решения по этому поводу?

enter image description here

1 Ответ

0 голосов
/ 26 июня 2018

type="date" создает браузер выбора даты HTML-5, если поддерживается. Спецификации требуют, чтобы значение было отформатировано в формате ISO (yyyy-MM-dd), который затем отображается в соответствии с культурой браузеров.

Добавьте asp-format для форматирования значения и удалите атрибут value (помощники по тегам правильно генерируют атрибут value для правильного двухстороннего связывания модели, и вы никогда не должны пытаться добавить его самостоятельно)

<input asp-for="BestellungsDatum" type="date" asp-format="{0:yyyy-MM-dd}" class="form-control" /> 

Обратите внимание, что средство выбора даты HTML-5 не поддерживается в IE, и только в последних версиях Firefox. Если вам нужен согласованный пользовательский интерфейс, рассмотрите возможность использования вместо этого указателя даты jQuery.

...