【问题标题】:Kendo TimePickerFor Not Binding to ViewModel When using TimeSpan MVC使用 TimeSpan MVC 时,Kendo TimePickerFor 未绑定到 ViewModel
【发布时间】:2014-07-16 03:58:25
【问题描述】:

我有一个应用程序保证用户需要为一周中的特定日期提供“一天中的最佳时间”。我试图将一天中的那个时间表示为 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' 对 Start 无效。"

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

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

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

谢谢!

【问题讨论】:

  • 文档说“TimePicker 小部件支持 DateTime 结构”(docs.telerik.com/kendo-ui/getting-started/using-kendo-with/…)。尽管您将日期传递给 Kendo TimePicker,但它只显示时间。
  • 我确实在他们的示例中看到了这一点,但这不就是使用日期时间的时间跨度对象吗?
  • 过了当前日期。

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


【解决方案1】:

使用 DateTime 似乎就像你所说的@Saranga 一样工作

不太高兴它将整个日期存储在数据库中,因为当时并不清楚这仅与时间相关,但它确实有效。

感谢您的帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多