2012-04-04 51 views
0

我將在ASP.NET MVC3應用程序中添加對不同時區的支持。ASP.NET MVC3自定義轉換輸入參數的最佳方法

解決方法是以UTC時間存儲日期值,並存儲用戶時區偏移量。

所以,我需要兩兩件事:

  1. 發送日期值用戶在「用戶時間」(很明顯,我傳遞日期的包裝,轉換時間,用戶時間)

  2. 檢索用戶在「用戶時間」的日期並將其轉換爲UTC。

問題是 - 什麼是所有輸入日期值轉換爲UTC時間的好方法。還是有一種通用的方式來添加一些轉換規則到ASP.NET MVC?

這就是我想要的理想架構(控制器接收已轉換值)

enter image description here

+0

您將如何知道用戶的時區? – TDaver 2012-04-04 11:11:14

+0

這與問題無關。假設我知道它。 F.E.一些靜態變量。 – 2012-04-04 11:18:28

+0

好吧,我可以從javascirpt代碼(-new Date()。getTimezoneOffset())獲取時區偏移並將其發佈到服務器。 – 2012-04-04 11:19:40

回答

2

一種方法可以創建自己的模型綁定器是做映射的工作,並準備爲您的操作方法的數據在控制器中。

This post from Hanselman's Blog應該讓你知道我的意思。很顯然,我假設你可以得到所有你需要的方法

BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext); 

喜歡把自己的用戶時區與在後一個版本庫或隱藏字段中的數據。

+0

謝謝,我認爲這是對的方式) – 2012-04-04 14:31:08