Kendo DatePicker 中的默认空值

Posted

技术标签:

【中文标题】Kendo DatePicker 中的默认空值【英文标题】:Default Empty value in Kendo DatePicker 【发布时间】:2014-01-17 05:37:30 【问题描述】:

我需要日期时间选择器的默认值为空。

@(html.Kendo().DatePickerFor(model => model.RevisionDate)
              .Name("RevisionDate")
                )

“RevisionDate”是 asp.net mvc 模型中的日期时间属性。

目前的显示方式

我需要显示如下

【问题讨论】:

【参考方案1】:

您的RevisionDate 属性默认设置为DateTime.MinValue,即01/01/0001(所有DateTime 属性的行为都是如此)。这就是 Kendo UI DatePicker 显示它的原因。解决方案是将该属性设为可空的DateTime (DateTime?),其默认值为null

【讨论】:

我也有同样的问题,只是我没有将 DateTimePicker 绑定到模型属性,而只是给它起了个名字。我还没有弄清楚我的问题。【参考方案2】:

如果你不想让属性可以为空,你也可以这样做:

@(Html.Kendo().DatePickerFor(m => m.Property).HtmlAttributes(new  value = "" ))

【讨论】:

这样做的一个问题是,例如,如果存在模型状态错误并且 Post 返回错误,则日期字段不会显示它,因为它的 value 属性被空白【参考方案3】:

我在使用 ComboBoxFor ComboBoxFor(m => m.LocationId).Value(Model.LocationId == 0 ? string.Empty : Model.LocationId.ToString()) 时遇到了同样的问题。

但我发现这种方法在 DatePickerFor 上不起作用(这可能是一个错误)。

可以在 JS if($('#RevisionDate ').val() == "1/1/0001") $('#RevisionDate ').val("") 中进行解决方法,但我会推荐 Atanas 使用可空字段的方法。

【讨论】:

以上是关于Kendo DatePicker 中的默认空值的主要内容,如果未能解决你的问题,请参考以下文章

KendoUi下的DatePicker在谷歌浏览器上不能正常显示时间的解决方法

在我单击 Datepicker 控件外部之前,不会触发 Kendo Datepicker 更改事件

Kendo Scheduler DatePicker 事件

Kendo UI for Angular:Kendo UI Datepicker 禁用输入/仅文本框部分

Kendo MVC - 在网格中需要 DatePicker

从 Kendo DatePicker Inside Kendo Grid 中选择的日期格式