2017-04-21 56 views
0

我试图使用Kendo UI MVC dateTimePicker来明确的格式化日期,以便MVC模型绑定理解它。我有一个通过GET请求提交的表单中的datetimepicker控件。如何获得Kendo UI MVC datetimepicker在URL /表单中明确的格式化日期?

MVC预计在此日期格式:YYYY-MM-DD,但我想页面为DD/MM/YYYY上显示日期

如果我用这个代码,MVC正确地解析日期,但显示今年第一给用户,这是不是我想要的:

@(Html.Kendo().DateTimePicker() 
      .Name("ToDate") 
      .Format("yyyy-MM-dd") 
    ) 

有一种解决方法,所以我可以格式化在框中人类日期,但在URL明确(不变)格式格式化?

回答

1

您应该将DateTimePicker格式配置为用户友好的格式。然后使用javascript从窗口小部件(不是字符串日期)获取Date对象。然后将此日期对象格式化为'yyyy-mm-dd'并发出请求。

所以你的widget建议立即进行删除是:

@(Html.Kendo().DateTimePicker() 
     .Name("ToDate") 
     .Format("dd/MM/yyyy") 
) 

然后用这个JavaScript来发出请求:

var date = $("#ToDate").data("kendoDateTimePicker").value(); 

日期变量有一个JavaScript日期就可以格式化:

function dateToString(date){ 
    var str = date.getFullYear() + "-"; 
    str += ('0' + (date.getMonth() + 1)).slice(-2) + "-"; 
    str += ('0' + date.getDate()).slice(-2) + "T"; 
    str += ('0' + date.getHours()).slice(-2) + "-"; 
    str += ('0' + date.getMinutes()).slice(-2) + "-"; 
    str += ('0' + date.getSeconds()).slice(-2); 
    return str; 
} 

这种格式是“yyyy-mm-dd hh:mm:ss”,但是如果你想要删除时间部分