по умолчанию дата по умолчанию равна "дд / мм / гггг" при использовании EditorFor - PullRequest
0 голосов
/ 06 марта 2019

Я создаю страницу, где можно редактировать профили. Все работает правильно, кроме 1 вещи: В поле, в котором вы можете редактировать дату рождения, значение по умолчанию будет содержать стандартные буквы «дд / мм / гггг» вместо фактического значения из базы данных.

При отображении значения на другой странице проблем нет. Я попытался изменить формат отображения в модели, попытался изменить часовой пояс локали в глобальном файле, попытался сначала преобразовать дату в строку, а затем отобразить ее в поле нормального значения, давая поле class = "date" и кучу других вещей. Кажется, ничего не работает, и я задаюсь вопросом, не упустил ли я что-то очень глупое.

Поле генерируется следующим образом:

<div class="form-group" id="DateOfBirth">
     @Html.LabelFor(model => model.DateOfBirth, htmlAttributes: new { @class = "control-label" })
     @Html.EditorFor(model => model.DateOfBirth, new { htmlAttributes = new { @class = "form-control form-control-sm col-md-3" }})
     @Html.ValidationMessageFor(model => model.DateOfBirth, "", new { @class = "text-danger" })
</div>

И это дает мне поле ввода со средством выбора даты (и это именно то, что я хочу), но оно отображает "дд / мм / гггг" вместо ex: 22/05/1987

Модель выглядит так:

[DataType(DataType.Date)]
public DateTime DateOfBirth { get; set; }

1 Ответ

1 голос
/ 06 марта 2019

Это сработало для меня.Пожалуйста, установите атрибут DisplayFormat в свойстве DateOfBirth.

[DataType(DataType.Date)]            
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]            
public DateTime DateOfBirth { get; set; };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...