如何使用输入类型=日期的Html.TextBoxFor?
我想在我的代码中实现。 为此,我有以下内容:
@Html.TextBoxFor(model => model.CreationDate, new { @type = "date" })
此代码生成以下HTML:
该值未显示在网页上,因为type =“date”需要YYYY-MM-DD格式的数据。
我已经尝试格式化日期,但当然会爆炸。
@Html.TextBoxFor(model => model.CreationDate.ToString("YYYY-MM-DD"), new { @type = "date" })
如何使用TextBoxFor方法正确显示构造? 或者我应该使用其他方法(我已经尝试过EditorFor但是失败了)?
CreationDate
的类型为DateTime。
试试这个;
@Html.TextBoxFor(model => model.CreationDate, new { @type = "date", @Value = Model.CreationDate.ToString("yyyy-MM-dd") })
设置值时必须处理null
。
要么
如果您可以更改Model
您可以试试这个;
[DataType(DataType.Date)] [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)] public DateTime CreationDate{ get; set; }
在您的视图中,您可以使用EditorFor
帮助程序。
@Html.EditorFor(model => model.CreationDate, new { @type = "date" })
型号设计:
[DataType(DataType.Date)] [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)] public DateTime CreationDate{ get; set; }
查看设计:
<%: Html.EditorFor(m => m.CreationDate, new { @type = "date" }) %>
我用EditorFor和boostrap-datepicker库做了类似的事情:
@Html.EditorFor(m => m.StartDate)
将c#Datetime转换为HTML-5 Date值
"/>