我的 Razor Pages 编辑屏幕未填充日期字段,所有其他字段都已正确填充
查看数据库表,格式为 '2020-12-29 00:00:00.000' 在我的模型类中,我传递的日期格式是
//--Start Date ---//
[Required(ErrorMessage = "Please select Start Date")]
[Display(Name = "Start Date*")]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
[DataType(DataType.Date)]
public DateTime Startdate { get; set; }
如果您对 DateTime 字段使用
asp-for
标签助手,则生成的 html 元素将如下所示: <input type= "date" />
,默认情况下日期格式为“mm/dd/yyyy”,并且似乎不允许其他日期格式。不过你可以尝试将其更改为 text
类型。
<input asp-for="Startdate" type="text" class="datepicker" />
然后使用 bootstrap datepicker 让它选择日期。
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/css/bootstrap-datepicker.min.css" />
<script>
$('.datepicker').datepicker({
format: 'dd/mm/yyyy'
});
</script>
改变 [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
到
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}",ApplyFormatInEditMode = true)]