У меня есть следующая модель в моем проекте 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 не может правильно форматировать даты? Как я должен заставить это?