Kendo Grid内联编辑日期格式问题

时间:2013-03-13 22:57:26

标签: c# asp.net kendo-ui

我一直在研究这个没有太多运气的日子。我走了很多路,但似乎无法找到有效的解决方案。任何帮助将不胜感激。

我有一个用于CRUD的Kendo MVC网格

@(Html.Kendo().Grid<Games.Models.Game>()    
.Name("Grid")    
.Columns(columns => {        
    columns.Bound(p => p.GameName).Width(100);
    columns.Bound(p => p.Publisher).Width(75);
    columns.Bound(p => p.MaxPlayers).Width(75);
    columns.Bound(p => p.DateAdded).Width(100).Format("{0:MM/dd/yyyy}");

当我尝试编辑DateAdded字段时,它会将日期从格式良好的日期05/01/2003更改为5月1日17:00:00 CDT 2003,并在您尝试更新数据时抛出错误(我输入的任何数据都会转换为日,月,时间,时区年份格式。

网格抛出“字段DateAdded必须是日期错误”。

我尝试过使用Kendo Date Picker编辑器模板,但数据没有更新到我的模型中。

columns.Bound(p => p.DateAdded).Width(100).Format("{0:MM/dd/yyyy}").EditorTemplateName("DateTime");

编辑模板:

@(Html.Kendo().DatePicker()
                .Name("datepicker")
                .Format("M/d/yyyy")
)

知道我做错了什么吗?如果我可以更新内联日期,我可以跳过使用日期选择器,但我无法使用任何一种方法。

1 个答案:

答案 0 :(得分:1)

日期时间根据客户端(剑道文化)上指定的文化进行验证。请记住,编辑器的验证和格式是两回事。您应该将文化更改为日期/月份顺序是您用作格式的文化。类似案例here

有关剑道文化及其更改方法的更多信息,请参阅documentation