MVC 4剃刀添加输入类型日期(MVC 4 Razor adding input type date

2019-07-18 10:41发布

我不知道如何插入<input type="date"/>我的模型的日期时间属性。 至于现在剃刀创建具有一个普通的输入元件type="datetime" 。 我想利用新的输入类型HTML5的。

Answer 1:

输入日期值格式需要指定为每日期http://tools.ietf.org/html/rfc3339#section-5.6全日期。

所以我落得这样做:

<input type="date" id="last-start-date" value="@string.Format("{0:yyyy-MM-dd}", Model.LastStartDate)" />

我曾尝试做“正确”使用:

[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
public DateTime LastStartDate
{
    get { return lastStartDate; }
    set { lastStartDate = value; }
}

@Html.TextBoxFor(model => model.LastStartDate, 
    new { type = "date" })

不幸似乎总是与输入的值属性设置为一个标准的日期时间,所以我已经结束了应用格式如上直接。

编辑:

据乔恩,如果您使用

@Html.EditorFor(model => model.LastStartDate)

而不是TextBoxFor的这一切工作正常。



Answer 2:

我设法通过使用下面的代码来做到这一点。

@Html.TextBoxFor(model => model.EndTime, new { type = "time" })


Answer 3:

 @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()


Answer 4:

如果你想使用@ Html.EditorFor(),你必须使用jQuery UI和与NuGet包管理器更新您的Asp.net的mvc到5.2.6.0。

@Html.EditorFor(m => m.EntryDate, new { htmlAttributes = new { @class = "datepicker" } })

@section脚本{

@Scripts.Render("~/bundles/jqueryval")

<script>

    $(document).ready(function(){

      $('.datepicker').datepicker();

     });

</script>

}



Answer 5:

你会根据标签类型=“日期”得到它...然后将呈现漂亮的日历和所有...

@Html.TextBoxFor(model => model.EndTime, new { type = "date" })


文章来源: MVC 4 Razor adding input type date