Razor 页面中未填充日期字段

问题描述 投票:0回答:2

我的 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; }
c# asp.net-core razor-pages asp.net-core-3.1
2个回答
1
投票

如果您对 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>

0
投票

改变 [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]

[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}",ApplyFormatInEditMode = true)]

© www.soinside.com 2019 - 2024. All rights reserved.