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 更改事件