MVC绑定不正确的日期格式

时间:2016-04-01 08:26:32

标签: asp.net-mvc asp.net-mvc-5 jquery-ui-datepicker unobtrusive-validation

我正在使用Jquery datepicker,如下所示: -

$(".jqueryui-marker-datepicker").datepicker({
    dateFormat: "mm/dd/yy",
    yearRange: "-100:+0",
    changeYear: true,
    changeMonth: true,
    showOn: "button"
}).css("display", "inline-block").next("button").button({
    icons: { primary: "ui-icon-calendar" },
    label: "Select A Date",
    text: false
});

以下是编辑器模板: -

@model DateTime?
@Html.TextBoxFor(model => Model,"{0:dd-MM-yyyy}",new { @class = "form-control jqueryui-marker-datepicker" });

现在我有约会时间?我的模型中的列

    [Display(Name = "Date of birth")]
    [DataType(DataType.Date)]
    [Required(ErrorMessage = "DATEDOB is required")]
    [DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
    public DateTime? DATEDOB { get; set; }

并创建和编辑视图具有以下内容

 <div class=" col-md-3">
      @Html.EditorFor(model => model.DATEDOB, "{0:MM/dd/yyyy}", new { htmlAttributes = new { @class = "datepicker" } })
      @Html.ValidationMessageFor(model => model.DATEDOB, "", new { @class = "text-danger" })
 </div>

创建时,日期正确进入表格

4/21/2000 12:00:00 AM

但是,当编辑视图出现时,它会显示为

21-04-2000。

之前它给出了一个jquery验证错误,这不是一个模态日期。我已经解决了。

所以现在当我点击提交按钮时,它会给我一个错误,即#34;该值不是有效日期&#34;

我有&#34; en-US&#34;作为cuture和Uiculture。 我目前在印度的本地机器上运行Web应用程序。

我不知道该怎么办。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您的编辑器模板使用不同的日期格式,请尝试更改此代码

@model DateTime?
@Html.TextBoxFor(model => Model,"{0:MM/dd/yyyy}",new { @class = "form-control jqueryui-marker-datepicker" });