2012-09-01 62 views
2

我有實體的MVC3項目。 我有數據詮釋日期時間屬性與DisplayFormat(DataFormatString="{0:dd/MM/yyyy hh:mm:ss}")ASP.NET MVC3日期時間格式

控制器與具有實體作爲參數,並用相同的實體對象,這顯示其日期屬性調用視圖的方法。

因此,我打開瀏覽器並輸入鏈接http://site/entity/method?dateproperty=01/09/2012 01:02:03(2012年9月1日),它顯示09/01/2012 01:02:03(2012年1月9日)。

在視圖中,我使用的是DisplayFor它顯示爲dd/MM/yyyy,因爲我有一組DisplayFormat。

問題是,它的讀數是MM/dd/yyyy而不是dd/MM/yyyy,有什麼解決辦法?

P.S.我試過globalization在web.config <sysmte.web>但沒有幫助。

回答

2

嫌疑的問題是,你還沒有指定在你的屬性ApplyFormatInEditMode = true,所以它的使用默認格式解析,但格式化與你指定的格式。

我不是一個MVC開發以任何手段,但如果你想在兩個方向上使用相同的格式,我相信你可以改變你的屬性:

[DisplayFormat(ApplyFormatInEditMode = true, 
       DataFormatString="{0:dd/MM/yyyy HH:mm:ss}")] 

注意,我我已經將hh更改爲HH,因爲我懷疑你想要24小時制。我實際上建議使用yyyy-MM-ddTHH:mm:ss(ISO-8601)作爲URL參數的較不明確的格式 - 當然,更多以用戶爲中心的顯示格式。

+0

謝謝。 「yyyy-MM-ddTHH:mm:ss」真的幫了我。再次感謝你 :) – Epsilon