2013-07-31 57 views
0

我有一個MVC 4應用程序與國際用戶(遍佈世界各地)。我想添加一個名爲配置文件設置新的頁面,在這裏用戶可以選擇自己的區域設置,並通過我的意思是,他們應該能夠選擇:用戶選擇自己的區域設置,所有特定數據根據用戶配置文件對應用程序應用區域設置

- time zone  (UTC +- .....) 
    - date format (dd.MM.yyyy or dd/MM/yyyy or MM/dd/yyyy ....) 
    - time format (12/24 - AM PM) 
    - number format (1234.56 or 1234,56) 

後(日期,時間,號碼......)應以該特定格式顯示。

任何建議如何使這項工作?

回答

0

大多數情況下,您不應該將文化格式的每個細節都暴露給用戶。相反,請提供您想要支持的文化的下拉列表。使用代碼指定文化。一些常見代碼是en-US(英文/美國),es-MX(西班牙文/墨西哥)和de-DE(德國/德文)。第一部分是指語言,第二部分是指具體的國家或地區。

一旦你選定的文化代碼,你可以將其應用到每個用戶,如:

CultureInfo culture = new CultureInfo("en-US"); 
Thread.CurrentThread.CurrentCulture = culture; 

如果您正在使用特定的文化資源文件,那麼你也將需要:

Thread.CurrentThread.CurrentUICulture = culture; 

有幾個地方可以做到這一點,但常見的位置是在global.asax文件中的Application_BeginRequest事件中。

在MSDN here上有一個很好的教程。

雖然在考慮區域設置時常常考慮時區,但它們實際上是完全不同的東西,應單獨考慮。時區無法真正在全局設置,您需要考慮它們在您使用日期和時間的每個地方都會如何影響您的應用程序邏輯。您應該查看TimeZoneInfo課程。如果您有問題,請另行諮詢。雖然如果你搜索,你可能會發現許多已經被回答。

相關問題