C# ASP.NETMVC发回格式化的时间跨度

C# ASP.NETMVC发回格式化的时间跨度,c#,asp.net,asp.net-mvc-5,C#,Asp.net,Asp.net Mvc 5,以下是我的模型的一部分: [Required] [DisplayFormat(DataFormatString = "{0:t}", ApplyFormatInEditMode = true)] public TimeSpan Opening { get; set; } 这在中工作良好,并将所需的时间跨度显示为hh:mm tt。但是当我把这篇文章发回时,模型是无效的,并且说这个值是无效的(例如:凌晨04:00)。我猜它希望它的格式与hh:mm:ss相同。我能解决这个问题吗?我应该使用自定义模型

以下是我的模型的一部分:

[Required]
[DisplayFormat(DataFormatString = "{0:t}", ApplyFormatInEditMode = true)]
public TimeSpan Opening { get; set; }

这在中工作良好,并将所需的时间跨度显示为hh:mm tt。但是当我把这篇文章发回时,模型是无效的,并且说这个值是无效的(例如:凌晨04:00)。我猜它希望它的格式与hh:mm:ss相同。我能解决这个问题吗?我应该使用自定义模型绑定,还是将显示格式移动到视图中?

这里的问题将是时间的AM部分。TimeSpan表示时间量,例如2小时或1天。这不是一天中的特定时间。不过,您需要使用不同的格式。我建议您不要使用这种格式,因为timespan的格式与您所寻找的格式非常相似。

我知道timespan更像是一种间隔。但不幸的是.Net没有时间对象。因此,尝试使用TimeSpan。有没有其他方法,我可以使用时间选择器设置一个时间,如hh:mm tt根据您的要求,您最好使用类似的方法从字段中删除验证<代码>$(“#时间域”).validate({ignore:“.ignore”})