Gee*_*nga 32 html5 razor asp.net-mvc-4
我想知道如何插入<input type="date"/>我的模型的日期时间属性.至于现在,Razor创建了一个普通的输入元素type="datetime".我想利用HTML5的新输入类型.
Gil*_*rts 42
输入日期值格式需要根据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)" />
Run Code Online (Sandbox Code Playgroud)
我确实试过"正确"使用:
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
public DateTime LastStartDate
{
get { return lastStartDate; }
set { lastStartDate = value; }
}
Run Code Online (Sandbox Code Playgroud)
同
@Html.TextBoxFor(model => model.LastStartDate,
new { type = "date" })
Run Code Online (Sandbox Code Playgroud)
不幸的是,似乎总是将输入的value属性设置为标准日期时间,所以我最终直接应用了上面的格式.
编辑:
根据Jorn的说法,如果你使用
@Html.EditorFor(model => model.LastStartDate)
Run Code Online (Sandbox Code Playgroud)
而不是TextBoxFor它一切正常.
Gee*_*nga 31
我设法通过使用以下代码来完成它.
@Html.TextBoxFor(model => model.EndTime, new { type = "time" })
Run Code Online (Sandbox Code Playgroud)