我是一个服务器端的人,试图教自己一些CSS,Javascript,jQuery等。我写了一个小测试项目,加载一个模型,并在简单的文本框中显示值。工作正常,如您所见:

但当然,我想适当地显示这些日期。因此,让我将这些输入类型更改为"date“。这是Razor代码:
@Html.TextBoxFor(m => m.Date, new { @type="date", @id="ondate" })好吧,这起作用了..。说大也大吧。我是说,它现在显示为一个日期选择者..。但它不再显示模型的日期了!

我做错了什么?
发布于 2015-02-06 00:01:43
type="date"属性呈现浏览器HTML5数据报警器。为了使它正确工作,格式需要yyyy-MM-dd (ISO格式),所以它需要
@Html.TextBoxFor(m => m.Date, "{0:yyyy-MM-dd}", new { @type="date" })或者,您可以在属性上设置数据属性。
[DataType(DataType.DateTime)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
public DateTime Date { get; set; }并使用
@Html.EditorFor(m => m.Date)它添加type="date"属性并使用正确的格式。
边注:
EditorFor() (在MVC-4中)将不允许您设置id属性,但不清楚为什么需要将默认的id="Date"更改为id="ondate"。发布于 2015-02-05 23:43:59
试试这个:
<%= Html.TextBoxFor(m => m.Date, new { @type = "date", @id = "ondate", @value = Model.Date.ToString("mm/dd/yyyy") })%>https://stackoverflow.com/questions/28356115
复制相似问题