Kendo TimePickerFor не привязывается к ViewModel при использовании TimeSpan MVC

У меня есть приложение, которое требует от пользователей указать «наилучшее время дня» для определенного дня недели. Я пытаюсь представить это время дня как объект временного интервала в С# (так же, как объект DateTime.TimeOfDay). Мне не нужна дата, но я также не хочу использовать дату и время и чтобы пользователь видел фактическую дату .

Сейчас у меня есть это в моей модели:

[Required, Display(Name = "Start")]
    public TimeSpan StartTime { get; set; }
    [Required, Display(Name = "End")]
    public TimeSpan EndTime { get; set; }

У меня есть это для части моего взгляда:

<div class="form-group col-xs-6 col-lg-4">
    @Html.LabelFor(m => m.StartTime, new { @class = "control-label" })
    @(Html.Kendo().TimePickerFor(m => m.StartTime).Interval(15).Culture("en-Us").HtmlAttributes(new { @class = "form-control" }))
    @Html.ValidationMessageFor(m => m.StartTime)
</div>
<div class="clearfix"></div>
<div class="form-group col-xs-6 col-lg-4">
    @Html.LabelFor(m => m.EndTime, new { @class = "control-label" })
    @(Html.Kendo().TimePickerFor(m => m.EndTime).Interval(15).Culture("en-Us").HtmlAttributes(new { @class = "form-control" }))
    @Html.ValidationMessageFor(m=>m.EndTime)
</div>
<div class="clearfix"></div>

Я продолжаю получать эту ошибку модели, используя MVC ModelState:

ErrorMessage = "Значение "13:00" недопустимо для запуска."

Я не уверен, что я делаю неправильно, Intellesense говорит, что виджет кендо поддерживает временной интервал для его ввода, но почему это на самом деле не привязывается к представлению?

я видел эту статью: Kendo Timepicker для форматирования не работает

Это не совсем то, что я ищу, потому что я чувствую, что должен быть более простой способ представления времени дня, который не связан с фактической датой... Любая помощь очень ценится!

Спасибо!


person brentlyjdavid    schedule 16.07.2014    source источник
comment
В документации говорится, что виджет TimePicker поддерживает структуру DateTime (docs.telerik.com/kendo-ui/getting-started/using-kendo-with/). Хотя вы передаете дату Kendo TimePicker, он показывает только время.   -  person Saranga    schedule 16.07.2014
comment
Я видел это в их примере, но разве это не просто использование объекта timepan для даты и времени?   -  person brentlyjdavid    schedule 16.07.2014
comment
Он передает текущую дату.   -  person Saranga    schedule 16.07.2014


Ответы (1)


Использование DateTime, похоже, работает так, как вы сказали @Saranga

Не слишком в восторге, что вся дата хранится в базе данных, так как сразу не ясно, что это относится только к времени, но это работает.

Спасибо за вашу помощь!

person brentlyjdavid    schedule 17.07.2014