2011-02-09 34 views
2

我只是想知道是否有人有模型綁定DateTime屬性的方法,以便它們顯示在用戶選定時區的視圖中,但模型使用它們作爲UTC存儲在數據庫中。使用ASP.NET MVC 3綁定和轉換所有模型的DateTime屬性

我正在使用ASP.NET MVC 3與SQL Server 2005數據庫,但這將很快升級到2008年,並且意味着如果有助於解決方案,我可以使用新的日期時間類型。

我使用的是這個post的代碼,這很好的結合了從視圖發佈的日期和時間信息,我假設有一點額外的代碼,我可以很容易地將數據轉換爲UTC。

所以我想我有2個選擇,我需要幫助:

  1. 自定義呈現

是否有覆蓋的數據呈現到查看對象的方式,使一個UTC日期在顯示視圖時轉換爲用戶時區,然後我已經擁有的自定義文件夾會將其轉換回來存儲在數據庫中。

  1. 有沒有更好的方法,我不知道?

這是一個在很多網站上可用的功能(我已經在本網站的第一個版本中使用它,我在直接ASP.NET中使用它),但是在我去之前再次使用相同的方法(我只是在顯示信息時有一個靜態函數,然後在保存之前調用類似的函數),只是想知道是否有人有更好的解決方案。

感謝 馬克

+0

我需要類似的東西。實際上確實如此。 – melancia 2013-04-24 12:05:39

回答

1

您可以使用Html.EditorFor和Html.DisplayFor與日期時間自定義的模板。你仍然需要自定義粘合劑。

+0

謝謝盧卡什。我認爲這可能是該方法,我已經使用自定義編輯器的日期和時間分離,以便我可以使用jQuery DAte和時間選擇器。只是想要一些反饋,以確保我在做什麼將被視爲MVC框架中的最佳做法。 – 2011-02-09 23:10:19