Как заполнить поля даты в ASP.NET Форма сердечника

#c# #asp.net-core

Вопрос:

При редактировании класса простой модели сущностей значение поля даты не заполняется предварительно на странице редактирования. В то время как все другие поля на странице редактирования предварительно заполняются значениями сущностей из базы данных, поля даты не заполняются. Я проверил SQL Server, а также страница сведений подтверждает, что даты действительно сохранялись при создании экземпляра сущности.

Как можно предварительно заполнить поле даты в форме редактирования?

Поле даты в классе модели сущности

 [DataType(DataType.Date)]  
[DisplayFormat(DataFormatString = "{0:MMMM dd, yyyy}", ApplyFormatInEditMode = true)]  
[Display(Name = "Example date")]  
public DateTime ExampleDate { get; set; }  
 

Поле даты в файле Edit.cshtml

 <div class="form-group col-md-6">
    <label asp-for="@Model.Project.ExampleDate" class="control-label"></label>
    <input asp-for="@Model.Project.ExampleDate" value="@Model.Project.ExampleDate" class="form-control" />
    <span asp-validation-for="@Model.Project.ExampleDate" class="text-danger"></span>
</div>
 

Ответ №1:

Решение 1:

Вы можете попробовать изменить свой Edit.cshtml лайк ниже.

   <input asp-for="@Model.Project.ExampleDate" value="@Model.Project.ExampleDate.ToString("yyyy-MM-dd")" class="form-control" />
 

Решение 2:

Вы можете изменить свой класс модели следующим образом (удалить код ApplyFormatInEditMode = true ):

 [DataType(DataType.Date)]  
[DisplayFormat(DataFormatString = "{0:MMMM dd, yyyy}")]  
[Display(Name = "Example date")]  
public DateTime ExampleDate { get; set; }