Dudes,一直在努力解决这个问题。我一直在环顾四周,一直在摆弄,但我不能让它工作!!
对于我的DOB,我希望以dd / mm / yyyy接受日期..但是它只接受mm / dd / yyyy。我应该在哪里修复?
我从Jquery Datepicker 1和Jquery 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" });
});
感谢任何帮助!
答案 0 :(得分:1)
我应该在哪里修复?
在您的编辑器模板中:
@Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue, new { @class = "date" })
用于以正确的格式显示日期。
为了在POST控制器操作中重新绑定值,您可以编写一个custom model binder,它将使用[DisplayFormat]
属性使用指定的格式将值解析回有效的DateTime实例。