2015-11-25 40 views
2

下面是我的模型的一部分:ASP.Net MVC回發格式化時間跨度

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

這工作在罰款和diplays所需的時間跨度爲hh:mm TT。但是當我發回這個模型是無效的,並說這個值是無效的(例如:04:00 AM)。我猜這是期待它在相同格式的hh:mm:ss。無論如何,我能解決這個問題嗎?我應該使用自定義模型綁定,還是移動顯示格式來查看?

回答

2

你的問題在這裏是AM時間的一部分。 TimeSpan表示諸如2小時或1天的時間量。這不是一個特定的時間。你需要使用不同的格式。我建議不用格式來嘗試,因爲時間跨度的格式與您要查找的格式非常相似。

+0

我明白TimeSpan更像是一段時間間隔。但不幸的是.Net沒有時間對象。因此試圖使用TimeSpan。是否有任何替代方案,我可以使用時間選擇器,並設置時間如hh:mm tt – Aneef

+0

根據您的要求,您可能會更好地從該字段刪除類似於此的驗證。 ($#「timefield」)。validate({0} {0}};'''.ignore' };' – Falanor