2011-10-09 26 views
2

進出口編碼西班牙語機器上的ASP.NET MVC應用程序,所以我的日期(日/月/年)。日期文化問題

但我的遠程車輛定位系統使用EN-US W2K8所以當我創建這臺機器將是(MM/DD/YYYY)

林不知道什麼是解決的正確方法的日期。

我有取類型的字符串(日/月/年),並將其發送至所述控制器的寄存器的形式。我想模型綁定器創建一個新的DateTime將被髮送到控制器,因爲如果我插入(在遠程)像31/10/2011這樣的東西說日期不正確,所以當模型聯編程序嘗試創建DateTime哭了。

所以我需要一種方法來指定(我想這將是全球性的東西),我所有的日期將DD/MM/YYYY。因此,當模型聯編程序創建新日期時,它將使用該格式。

我該怎麼做?我認爲這會對未來造成問題,因爲我想將我的應用本地化爲英文,英文用戶將使用mm/dd/yyyy。

回答

1

我真的沒有跟任何MVC3經驗,但在高水平上你的問題是相當瑣碎。 在請求綁定到模型對象之前,您當前的線程文化需要匹配客戶端上的線程文化。有不同的方式做到這一點,但最明顯的是:

1)分離應用程序分爲頂級文化子文件夾。即把你的/ my_url /轉換成/ en/my_url /,/ sp/my_url /等等。把Web.config放到每個有相關文化設置的地方。 這可能比你關心的更多的工作。

2)的形式後數據文化信息和結合之前攔截它。我確信在你的控制器動作執行之前你可以處理某種事件。你可以根據post參數設置當前的線程文化。

可能有一種方法可以根據請求映射來組合這兩種方法。沿着/ {language}/my_url /行。就像我說過的,我並沒有真正使用MVC設計模式的MS版本來知道它的技術細節。

0

您可以在Web配置文件

指定文化