【发布时间】:2012-10-19 09:36:54
【问题描述】:
我为 Telerik datepicker 指定了日期格式为 dd/mm/yyyy。但是,它仅被识别为 mm/dd/yyyy。例如,如果我输入日期为 18/10/2012 保存记录时会抛出错误,因为日期格式无效,因为此处输入的日期为 18 被视为月份。我将日期视图定义为:
@model DateTime?
@(Html.Telerik().DatePickerFor(m => m)
.Name(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty))
.Format("dd/MM/yyyy")
.HtmlAttributes(new { id = ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty) + "_wrapper" })
.InputHtmlAttributes(new {style="width:160px;"}))
在模型验证中,日期字段定义为:
[Required(ErrorMessage = "Date Required")]
[DataType(DataType.Date)]
public DateTime? DATE_CALL { get; set; }
此外,在网格中已将列定义为:
col.Bound(r => r.DATE_CALL).Format("{0:dd/MM/yyyy}").Title("DATE_CALL").Width(170);
所以,无法弄清楚错误是什么?任何帮助将不胜感激。
【问题讨论】:
-
我相信错误来自 SQL。在记录保存到数据库之前调试日期格式
-
保存记录时,由于日期不被视为有效格式,因此日期字段为空值,因此引发错误。 DB中日期字段的格式为SQL中的datetime2(0)。
标签: asp.net-mvc-3 datepicker telerik-grid date-format