日期不会显示在HTML输入类型日期的模型上

前端之家收集整理的这篇文章主要介绍了日期不会显示在HTML输入类型日期的模型上前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在我的创建和编辑Razor Views上显示日期类型输入…日期选择器工作正常但是在编辑时我从模型中获取值但日期选择器不显示它…

视图

<div class="form-group form-md-line-input">
    @Html.TextBoxFor(model => model.InitialDate,new { @class = "form-control",type = "date" })
    @Html.ValidationMessageFor(model => model.InitialDate)
    @Html.LabelFor(model => model.InitialDate)
</div>

模型

public Nullable<System.DateTime> InitialDate { get; set; }

我已经尝试过使用DataAnnotations但是同样的事情发生了日期选择器只允许我在创建时选择日期,但是当编辑时它不会显示模型中的日期,尽管当我查看渲染的HTML代码时,值正在设置日期但控件不显示它.

HTML视图

<input class="form-control" data-val="true" data-val-date="The field InitialDate must be a date." id="InitialDate" name="InitialDate" type="date" value="3/3/2015 12:00:00 AM">

我还从浏览器的开发人员工具中删除属性值的时间,看它是否有效,但它也不起作用……

<input class="form-control" data-val="true" data-val-date="The field InitialDate must be a date." id="InitialDate" name="InitialDate" type="date" value="3/3/2015">

如何在日期选择器中显示模型中的日期?任何帮助将不胜感激…

解决方法

如果您使用它来生成浏览器HTML5 datepicker实现,则日期的格式需要为yyyy-MM-dd(ISO格式).使用TextBoxFor()需要它
@Html.TextBoxFor(m => m.InitialDate,"{0:yyyy-MM-dd}",type = "date" })

或者,将以下属性添加属性

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}",ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> InitialDate { get; set; }

并在视图中使用

@Html.EditorFor(m => m.InitialDate)

请注意,这会添加type =“date”属性

猜你在找的HTML相关文章