MVC3 + Datepicker +英国日期

时间:2012-02-29 17:20:01

标签: jquery asp.net-mvc-3 validation date datepicker

Dudes,一直在努力解决这个问题。我一直在环顾四周,一直在摆弄,但我不能让它工作!!

对于我的DOB,我希望以dd / mm / yyyy接受日期..但是它只接受mm / dd / yyyy。我应该在哪里修复?

我从Jquery Datepicker 1Jquery Datepicker 2获得灵感。

在我的模型中

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Date of Birth")]
public DateTime DOB { get; set; }

在我看来,非常直接

@Html.EditorFor(model => model.DOB)

使用编辑模板,每当使用日期时调用该模板。

@model DateTime?

@Html.TextBox("", Model != null ? Model.Value.ToString("dd/mm/yyyy") : "", new { @class   = "date" })

写了另一个编辑连接,引用了Jquery

$(document).ready(function () {
$('.date').datepicker({ dateFormat: "dd/mm/yy" });
});

感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

  

我应该在哪里修复?

在您的编辑器模板中:

@Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue, new { @class = "date" })

用于以正确的格式显示日期。

为了在POST控制器操作中重新绑定值,您可以编写一个custom model binder,它将使用[DisplayFormat]属性使用指定的格式将值解析回有效的DateTime实例。