manish-gusain8909 Ответов: 1

Как передать дату из контроллера в представление с полем ввода с датой и временем.


я извлекаю дату из базы данных и хочу показать в поле ввода с типом даты в представлении

Что я уже пробовал:

контроллер:
objTournamentEdit.DateOfBirth = Convert.ToDateTime(dt.Rows[0]["DATEOFBIRTH"]);


модель:
[DisplayFormat(DataFormatString = "{dd MMM yyyy}")]
        public DateTime TournamentFromDate { get; set; }

вид:
@Html.TextBoxFor(model => model.DateOfBirth.ToString("dd/MM/yyyy"), new { @class = "form-control input-sm datepicker", @type = "date", @Value = "", placeholder = "Date of Birth", id = "txtContactDOB", max = "2050-01-01" })

1 Ответов

Рейтинг:
1

Richard Deeming

Вам нужно передать строку формата отдельно в выражение свойства. Вам нужно будет воспользоваться yyyy-MM-dd формат, поскольку это единственный формат, который понимает ввод даты HTML.

Вы также захотите избежать переопределения значения и жесткого кодирования максимальной даты. В зависимости от ваших требований разумной максимальной датой рождения может быть DateTime.Today, или DateTime.Today.AddYears(-18), или даже DateTime.Today.AddDays(280) если вы регистрируете будущие рождения.

@Html.TextBoxFor(model => model.DateOfBirth, "{0:yyyy-MM-dd}", new { @class = "form-control input-sm datepicker", @type = "date", placeholder = "Date of Birth", id = "txtContactDOB", max = DateTime.Today.ToString("yyyy-MM-dd") })