ASP.NET MVC中的时间输入字段

qso*_*oft 1 asp.net-mvc-4

我在使用ASP.NET MVC 4尝试使用时间字段编写表单时遇到了麻烦.

模型:

class Abcde {
    [DataType(DataType.Time)]
    public DateTime ATime { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

View.cshtml

...
@Html.EditorFor(m => m.ATime)
@Html.ValidationMessageFor(m => m.ATime)
Run Code Online (Sandbox Code Playgroud)

当我尝试输入时间(hh:nn:ss)时,验证总是失败,并说它不是正确的格式,所以我必须输入日期.我的问题是我应该改变类型TimeSpan吗?或者还有其他方法吗?

小智 7

[Required]
[DataType(DataType.Time)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:H:mm}")]
public DateTime Time { get; set; }`
Run Code Online (Sandbox Code Playgroud)

试试这个,你可以按照你希望它为你工作的方式格式化DataFormatString,我现在在项目中使用它,它对我有用.

  • 对我不起作用,在文本框中输入“--:-- --”,没有选择器。检查源代码给出了预期的 html 值“4:00”。 (2认同)