Когда представление впервые открывается (используется новая пустая модель), средство выбора даты работает отлично. Когда я извлекаю значения из формы из модели, текст в поле ввода выглядит нормально, но когда календарь открывается, дата совершенно неверна. Как это можно исправить?
Контроллер
public IActionResult Daily(Daily? daily)
{
new ReportDaily().GetAvailableSavedCriteria(out List<ReportCriteria> reportCriteria, out Notification not);
if (daily.SelectedCriteria == null) {
//Create daily report object and initialize the default values
var newModel = new Daily
{
PaymentTypes = DGetPaymentTypes(),
Users = DGetUsers(),
Criteria = reportCriteria,
StartDate = DateTime.Today.Date,
EndDate = DateTime.Today.Date,
County = true,
Municipality = true
};
return View(newModel);
}
else
{
daily.PaymentTypes = HttpContext.Session.GetString("PaymentTypes") == null ? DGetPaymentTypes() : JsonConvert.DeserializeObject<List<Daily.PaymentType>>(HttpContext.Session.GetString("PaymentTypes"));
daily.Users = HttpContext.Session.GetString("Users") == null ? DGetUsers() : JsonConvert.DeserializeObject<List<Daily.User>>(HttpContext.Session.GetString("Users"));
daily.Criteria = reportCriteria;
return View("Daily", daily);
}
}
Просмотр
<div class="row col-12 formdatepicker">
<input asp-for="StartDate" type="text" class="form-control" id="startdatepicker" />
<span style="margin-left: 8px; margin-right: 8px; padding-top: 5px;">to</span>
<input asp-for="EndDate" type="text" class="form-control" id="enddatepicker" />
</div>
JavaScript
$("#startdatepicker").datepicker();
$("#enddatepicker").datepicker();
Значение в текстовом поле изначально установлено на 03/10/2020. После щелчка в текстовом поле календарь открывается с выбранной датой, являющейся текущим днем (в данном случае 25/25/2020), и при щелчке по календарю без выбора даты он все равно устанавливается. Мне бы хотелось, чтобы календарь даты bootstrap имел то же значение, что и текстовое поле. Вот GIF для иллюстрации проблемы: