Формат поля ввода даты игнорируется при перезагрузке в ASP.NET Core 3.0 - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть следующая модель в моем проекте ASP.NET Core 3.0:

class DataModel
{
  public DateTime StartDate {get; set;}
  public DateTime EndDate {get; set;}  
}

Я использую следующий код контроллера:

[HttpGet]
public IActionResult Index(DataModel dataModel = null)
{
  actualDataModel = new DataModel { StartDate = DateTime.Today.AddDays(-7), EndDate = DateTime.Today };
  if (dataModel.StartDate != DateTime.MinValue)
  {
    actualDataModel.StartDate = dataModel.StartDate;
    actualDataModel.EndDate = dataModel.EndDate;
  }
  return View(actualDataModel);
}

В представлении у меня есть это поле:

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

При первом запуске я вижу правильную дату, и вот как выглядит источник:

<input class="form-control" type="date" data-val="true" data-val-required="The StartDate field is required." id="StartDate" name="StartDate" value="2019-10-30" />

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

<input class="form-control" type="date" data-val="true" data-val-required="The StartDate field is required." id="StartDate" name="StartDate" value="10/30/2019 00:00:00" />

Почему ASP.NET не может правильно форматировать даты? Как я должен заставить это?

...