2014-02-24 68 views
1

我有一個Kendo Grid,它有一個帶有時間選擇器的EditorTemplate。 timepicker工作的很好,時間顯示在網格上,但是當我嘗試保存它時,錯誤地說對象的值不正確。以下是我的代碼。當我點擊保存時,它告訴錯誤說「The value'2/24/2014 07:00:00 AM'不適用於Brief。時間是我從時間選擇器中選擇的時間。我該如何只發送時間而沒有日期,或者什麼是時間只保存到數據庫中的最佳選擇具有EditorTemplate的Kendo Grid TimeSpan

視圖模型(部分):

[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); 
     }) 

EditorTemplate:

@using Kendo.Mvc.UI 
@model TimeSpan? 

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

回答

1

看起來你需要將它存儲在DateTime結構中並解析它的時間。 TimeSpan用於存儲一段時間(例如35分鐘),而不是一天中的特定時間(美國東部時間11:30)。 Jon Skeet在a related answer討論他的野田時間圖書館,這可能會有所幫助。

+0

實際上不能將其更改爲日期時間。當我這樣做時,timepicker錯誤指出日期不正確。 –