我在使用ASP.NET MVC 4尝试使用时间字段编写表单时遇到了麻烦。
模型:
class Abcde {
[DataType(DataType.Time)]
public DateTime ATime { get; set; }
}
View.cshtml
...
@Html.EditorFor(m => m.ATime)
@Html.ValidationMessageFor(m => m.ATime)
当我尝试输入时间(hh:nn:ss)时,验证总是失败,并说它不是正确的格式,所以我必须输入日期。我的问题是我应该将类型更改为TimeSpan
吗?或者还有其他方法吗?
[Required]
[DataType(DataType.Time)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:H:mm}")]
public DateTime Time { get; set; }`
试试这个,您可以按照您希望它为您工作的方式格式化DataFormatString,我现在在项目中使用它,它对我有用。
实际上这对我有用。
[DataType(DataType.Time)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:HH:mm}")]
public DateTime Hour { get; set; }
[必需] [DataType(DataType.Time)] [DisplayFormat(ApplyFormatInEditMode = true,DataFormatString =“{0:HH:mm}”)] public DateTime Time {get;组; }`
它对我也有用。我只用一个大写字母H将小时改为两位数。谢谢krabos和Jorge L Hernandez。
这就是它对我有用的方式。我只是用额外的大写字母H将时间改为两位数。谢谢Krabos和Jorge L Hernandez。