Model view controller 带EditorTemplate TimeSpan的剑道网格

Model view controller 带EditorTemplate TimeSpan的剑道网格,model-view-controller,kendo-ui,timepicker,Model View Controller,Kendo Ui,Timepicker,我有一个剑道网格,它有一个EditorTemplate,里面有一个时间选择器。时间选择器工作得很好,时间在网格上显示得很好,但是当我试图保存它时,它会出错,说该值对于对象不正确。下面是我的代码。当我点击save(保存)时,它会告诉错误:“值'2/24/2014 07:00:00 AM'对于简短来说无效。时间是我从时间选择器中选择的时间。我如何只发送时间而不发送日期,或者只将时间保存到数据库的最佳选项是什么 视图模型(部分): 网格: 看起来您需要将其存储在DateTime结构中并解析其中的时间。

我有一个剑道网格,它有一个EditorTemplate,里面有一个时间选择器。时间选择器工作得很好,时间在网格上显示得很好,但是当我试图保存它时,它会出错,说该值对于对象不正确。下面是我的代码。当我点击save(保存)时,它会告诉错误:“值'2/24/2014 07:00:00 AM'对于简短来说无效。时间是我从时间选择器中选择的时间。我如何只发送时间而不发送日期,或者只将时间保存到数据库的最佳选项是什么

视图模型(部分):

网格:


看起来您需要将其存储在DateTime结构中并解析其中的时间。TimeSpan用于存储时间长度(例如35分钟),而不是一天中的特定时间(美国东部时间11:30)。
Jon Skeet讨论了他的Noda时间库,其中可能会有所帮助。

实际上无法将其更改为日期时间。当我这样做时,时间选择器会错误地指出日期不正确。
[UIHint("_TimePicker")]
public TimeSpan? Brief { get; set; }

[UIHint("_TimePicker")]
public TimeSpan? KickOff { get; set; }

[UIHint("_TimePicker")]
public TimeSpan? Debrief { get; set; }
 @(Html.Kendo().Grid<Optic_Freedom.Areas.Scheduling.Models.ExerciseBreakdownViewModel>()
        .Name(string.Format("Grid"))
        .Columns(columns =>
        {
            columns.Bound(p => p.Personnel.Name).Width(100);
            columns.Bound(p => p.NumberOfTeams).Width(80);
            columns.Bound(p => p.TeamMembers).Width(100);
            columns.Bound(p => p.Vehicles).Width(100);
            columns.Bound(p => p.Brief).Format("{0:HH:mm}").EditorTemplateName("_TimePicker1").Width(100);
            columns.Bound(p => p.KickOff).Format("{0:HH:mm}").EditorTemplateName("_TimePicker2").Width(100);
            columns.Bound(p => p.Debrief).Format("{0:HH:mm}").EditorTemplateName("_TimePicker3").Width(100);
        })
@using Kendo.Mvc.UI
@model TimeSpan?

@(Html.Kendo().TimePickerFor(m=>m)
      .Value(@Model.GetValueOrDefault())
      .Min("06:00")
      .Max("22:00")
      .Format("{0:HH:mm}"))