Html MVC4添加输入类型日期
我想知道如何为我的模型的datetime属性插入一个Html MVC4添加输入类型日期,html,razor,asp.net-mvc-4,Html,Razor,Asp.net Mvc 4,我想知道如何为我的模型的datetime属性插入一个。 现在Razor创建了一个带有type=“datetime”的普通输入元素。我想利用HTML5的新输入类型。我通过使用以下代码实现了这一点 @Html.TextBoxFor(model => model.EndTime, new { type = "time" }) 输入日期值格式需要按照完整日期指定的日期 所以我最终做了: <input type="date" id="last-start-date" value="@stri
。
现在Razor创建了一个带有
type=“datetime”
的普通输入元素。我想利用HTML5的新输入类型。我通过使用以下代码实现了这一点
@Html.TextBoxFor(model => model.EndTime, new { type = "time" })
输入日期值格式需要按照完整日期指定的日期 所以我最终做了:
<input type="date" id="last-start-date" value="@string.Format("{0:yyyy-MM-dd}", Model.LastStartDate)" />
与
不幸的是,这似乎总是将输入的value属性设置为标准日期时间,因此我最终直接应用了上述格式
编辑:
根据Jorn的说法如果你使用
@Html.EditorFor(model => model.LastStartDate)
而不是文本框,因为它可以正常工作。您将通过tag type=“date”获得它……然后它将呈现美丽的日历和所有
@Html.TextBoxFor(model => model.EndTime, new { type = "date" })
如果要使用@Html.EditorFor(),必须使用jQuery ui和 使用NuGet Package Manager将Asp.net Mvc更新为5.2.6.0
@Html.EditorFor(m => m.EntryDate, new { htmlAttributes = new { @class = "datepicker" } })
@节脚本{
@Scripts.Render("~/bundles/jqueryval")
$(文档).ready(函数(){
$('.datepicker').datepicker();
});
}+1实际上,通过属性上的这些数据注释,
Html.EditorForm(m=>m.LastStartDate)
呈现了一个
。因此,无需重写类型
属性。@JørnSchou,谢谢。这不应该是Html.EditorFor吗?@JørnSchou Rode我已经更新了我的答案以回应你的评论。确实应该。m
是一个输入错误:)EditorFor来自何处?只是一个迟来的注释为什么这个答案在Chrome中只显示时间?Safari或IE中不支持输入类型date。您使用过这两种类型吗?来源:应使用Html.EditorFor代替textboxfor
@Html.TextBoxFor(m => m.EntryDate, new{ type = "date" })
or type = "time"
it will display a calendar
it will not work if you give @Html.EditorFor()
@Html.EditorFor(m => m.EntryDate, new { htmlAttributes = new { @class = "datepicker" } })
@Scripts.Render("~/bundles/jqueryval")
<script>
$(document).ready(function(){
$('.datepicker').datepicker();
});
</script>