C# mvc中带数据注释的日期选择器

C# mvc中带数据注释的日期选择器,c#,asp.net-mvc,date,model-view-controller,datepicker,C#,Asp.net Mvc,Date,Model View Controller,Datepicker,我在模型中使用数据注释作为日期选择器 型号: [DataType(DataType.Date)] public DateTime DueDate { get; set; } <div class="form-group"> @Html.LabelFor(model => model.DueDate, htmlAttributes: new { @class = "control-label col-md-2" }) <div

我在模型中使用数据注释作为日期选择器

型号:

  [DataType(DataType.Date)]
    public DateTime DueDate { get; set; }
 <div class="form-group">
        @Html.LabelFor(model => model.DueDate, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.DueDate, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.DueDate, "", new { @class = "text-danger" })
        </div>
    </div>
查看:

  [DataType(DataType.Date)]
    public DateTime DueDate { get; set; }
 <div class="form-group">
        @Html.LabelFor(model => model.DueDate, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.DueDate, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.DueDate, "", new { @class = "text-danger" })
        </div>
    </div>

@LabelFor(model=>model.DueDate,htmlAttributes:new{@class=“controllabel col-md-2”})
@EditorFor(model=>model.DueDate,new{htmlAttributes=new{@class=“form control”})
@Html.ValidationMessageFor(model=>model.DueDate,“,new{@class=“text danger”})
当我第一次向数据库添加日期时,它会显示日历(没有时间)

下一步,当我想更改我的记录时,它不会显示日历。我可以为此更改/添加什么

它还具有格式验证。当我添加日期时,它是dd/mm/yyyy,当我进行更改时,它只验证yyy/mm/dd。我如何更改它


这是一个非常令人困惑和罕见的案例,我希望你能帮助我

我也遇到了同样的问题,我用验证浏览器的脚本解决了这个问题(谷歌的Chrome运行良好,不需要验证)

对于验证,您可以使用此数据站:

[DisplayFormat(ApplyFormatInEditMode=true,DataFormatString=“{0:MM/dd/yyyy}”)]

[DataType(DataType.Date,ErrorMessage=“Date不是正确的格式”)]

我也遇到了同样的问题,我用一个验证脚本来验证浏览器(谷歌的Chrome工作正常,不需要这个)

对于验证,您可以使用此数据站:

[DisplayFormat(ApplyFormatInEditMode=true,DataFormatString=“{0:MM/dd/yyyy}”)]

[DataType(DataType.Date,ErrorMessage=“Date不是正确的格式”)]

尝试
@Html.EditorFor(model=>model.DueDate.ToString(“dd/MM/yyyy”),新的{htmlAttributes=new{@class=“form control”})
。问题是当您返回保存的日期时。如果没有保存,它会像一个符咒一样工作。只需在显示日期时设置其格式。我建议您使用引导日期选择器,而不是特定于浏览器的选择器。因为当您在internet explorer中打开网站时,将无法看到此日期选择器。这是引导数据采集器的链接。您还可以在启动引导数据采集器期间指定日期格式。@M.Wiśnicki它不起作用。@Saadi谢谢,我会试试。试试
@Html.EditorFor(model=>model.DueDate.ToString(“dd/MM/yyyy”),新的{htmlAttributes=new{@class=“form control”}
。问题是当您返回保存的日期时。如果没有保存,它会像一个符咒一样工作。只需在显示日期时设置其格式。我建议您使用引导日期选择器,而不是特定于浏览器的选择器。因为当您在internet explorer中打开网站时,将无法看到此日期选择器。这是引导数据采集器的链接。您还可以指定启动引导日期选择器期间的日期格式。@M.Wiśnicki它不起作用。@Saadi谢谢,我会试试的。