引导日期选择器未在 editorFor 中显示模型值

Posted

技术标签:

【中文标题】引导日期选择器未在 editorFor 中显示模型值【英文标题】:Bootstrap datepicker not displaying model value in editorFor 【发布时间】:2014-04-26 05:44:06 【问题描述】:

问题:我有一个搜索页面正在查找某个范围内的数据。视图中有一个“From”和“To”日期选择器输入。我想将这些值的选择默认为与视图模型一起传递的相应“从”和“到”日期。视图模型中的正确值正在加载到视图的输入控件中,但日期选择器不显示该值,它只显示 mm/dd/yyyy 的输入掩码。如果我取出或将“type=”值更改为“text”而不是日期,则会显示正确的日期值,但 datepicker 不会。

这是我的编辑器模板:

@model 日期时间?

@html.TextBox("", Model, "0:MM/dd/yyyy", new @class= "datepicker form-control", type = "date" )

这是类属性:

    [DataType(DataType.Date)]
    public DateTime? DateTakenFrom  get; set; 

这是视图:

@Html.EditorFor(model => model.Criteria.DateTakenFrom)

这是呈现的内容:

<input class="datepicker form-control" data-val="true" data-val-date="The field DateTakenFrom must be a date." id="Criteria_DateTakenFrom" name="Criteria.DateTakenFrom" type="date" value="03/17/2014">

【问题讨论】:

【参考方案1】:

date 是 HTML5 中建议的类型(来源:Mozilla Developer Network),但在大多数浏览器中实现得并不好,所以我不鼓励使用它。使用带有type="text" 的一些javascript 插件。请注意,Bootsrap 版本 2 和 3 的现有插件是不兼容的。

【讨论】:

如果我删除类型,那么日期选择器将停止工作。我目前正在使用从 Nuget 包管理器安装的 Bootstrap.Datepicker v1.3.0。如果我把那个日期选择器拿出来,你有什么推荐的吗? 你使用 bootstrap 2 吗? 我们正在开始一个新项目,所以我们当时选择了最新的.. Bootstrap v3.1.1 那么你可能想使用 jQuery UI 来完成这个任务。这是一个示例:jsfiddle.net/jasenhk/4g9u5。或者您可以使用更类似于 Bootstrap 的解决方案,例如:bootply.com/87089。 通过包管理器卸载 Bootstrap.Datepicker v 1.3.0,然后从eyecon.ro/bootstrap-datepicker 手动安装 datePicker。事情现在似乎有条不紊。根据您最初的建议,我也确实从编辑器模板中删除了 type=date ......谢谢

以上是关于引导日期选择器未在 editorFor 中显示模型值的主要内容,如果未能解决你的问题,请参考以下文章

日期未在 EditorFor 中显示

反应本机选择器未在android上显示

Xamarin 表单文件选择器未在 ios 上显示相机胶卷或图像库

Xamarin 选择器未显示列表中的日期

SwiftUI - 日期选择器未正确显示

相机文件选择器未在 WebView android 中打开