Kendo DateTimePicker returns 值为 {01.01.0001 00:00:00}

Kendo DateTimePicker returns a value of {01.01.0001 00:00:00}

我有一个具有值 (DateTime.now) 的日期时间选择器。 如果我没有 select 任何日期,我得到的日期是 {01.01.0001 00:00:00}。 我不应该得到 datetimepicker 在我的页面上显示的值吗? 有没有办法来解决这个问题?我做错了什么? 提前谢谢?

@(Html.Kendo().DateTimePicker()
              .Name("scanningDate")
              .HtmlAttributes(new { style = "width:200px" })
              .Value(DateTime.Now)
              .WeekNumber(true)
              .Max(DateTime.Today)
        )

您正在获取 DateTime.MinValue 的默认值,即 ViewModel 的 ScanDate 属性 的 01/01/0001。

将 ScanDate 属性 绑定到 DatePicker 控件,以便您获得 SelectedValue DateTimePicker 到您的 MVC 控制器.

更改代码如下:

 @(Html.Kendo().DatePickerFor(model => model.ScanDate)
              .Name("ScanDate")
              .HtmlAttributes(new { style = "width:200px" })
              .Value(DateTime.Now)
              .WeekNumber(true)
              .Max(DateTime.Today)
  )

DateTimePicker 的值为空,因为您已将 Max() 配置为比分配给它的 Value() 更小的值。

即您将 Value() 设置为 Now(2017-06-26 08:08:37),但 Max 是今天 (2017-06-26 00:00:00)。 因此,设置的值超过了最大值,因此当前值为空....尽管控件的可见部分告诉你的眼睛。

您需要将 Max() 增加到至少超过您尝试设置的初始值。