2012-10-19 36 views
0

我指定日期格式为dd/mm/yyyy为telerik datepicker。但是,它仅被识别为mm/dd/yyyy。例如,如果我输入日期为18/10/2012保存记录时出现错误,因为日期格式无效,因为此处输入日期,因为18被视为月份。我为日期定义视图:Telerik asp.net for MVC datepicker格式在网格相关问题

@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); 

所以,无法弄清楚错误是什么?任何帮助将不胜感激。

+0

我认为错误是从SQL到来。在将记录保存到数据库之前调试日期格式 – Boomer

+0

保存记录时,由于日期不被视为有效格式,因此它会为日期字段获取空值并因此引发错误。数据库中日期字段的格式是SQL中的datetime2(0)。 – Krish

回答

0

使用以下保存到数据库之前,设置您的日期格式:

DateTime.ParseExact(<yourDate>, "MM/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture);