引导日期选择器未在 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 中显示模型值的主要内容,如果未能解决你的问题,请参考以下文章