使用TimeSpan MVC时,Kendo TimePicker不绑定到ViewModel

时间:2014-07-16 03:58:26

标签: c# asp.net-mvc kendo-ui asp.net-mvc-5.1 kendo-ui-mvc

我有一个应用程序,保证用户需要为一周中的特定日期提供“最适合的时间”。我试图将时间表示为C#中的时间跨度对象(就像DateTime.TimeOfDay对象那样)我不需要日期,但也不想使用datetime并让用户看到实际日期

现在我在我的模型中有这个:

[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 =“值'1:00 PM'对于开始无效。”

我不确定我做错了什么,intellesense说kendo小部件支持输入的时间跨度,但为什么这不是实际绑定到视图?

我看过这篇文章:Kendo Timepickerfor formatting not working

这不是我想要的,因为我觉得应该有一种更简单的方式来表示与实际日期无关的一天中的时间...... 非常感谢任何帮助!

谢谢!

1 个答案:

答案 0 :(得分:0)

使用DateTime似乎就像你说@Saranga

一样

不太兴奋它将整个日期存储在数据库中,因为它不是立即清楚,这只与时间​​有关,但它有效。

感谢您的帮助!