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

问题描述 投票:1回答:3

我在使用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吗?或者还有其他方法吗?

asp.net-mvc-4
3个回答
7
投票
[Required]
[DataType(DataType.Time)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:H:mm}")]
public DateTime Time { get; set; }`

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


1
投票

实际上这对我有用。

[DataType(DataType.Time)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:HH:mm}")]
public DateTime Hour { get; set; }

-1
投票

[必需] [DataType(DataType.Time)] [DisplayFormat(ApplyFormatInEditMode = true,DataFormatString =“{0:HH:mm}”)] public DateTime Time {get;组; }`

它对我也有用。我只用一个大写字母H将小时改为两位数。谢谢krabos和Jorge L Hernandez。

这就是它对我有用的方式。我只是用额外的大写字母H将时间改为两位数。谢谢Krabos和Jorge L Hernandez。

© www.soinside.com 2019 - 2024. All rights reserved.