2013-06-06 51 views
0

我嘗試使用以下命令:ASP MVC 4 globalizationScript,jQuery和提交的數據

<script src="/Scripts/globalize.js" type="text/javascript"></script> 
@Html.GlobalizationScript("~/Scripts/cultures/","~/Scripts/cultures/") 

所以不顯眼的客戶端驗證工作與客戶的文化,然而,當數據被髮送到服務器,它不按照人們的期望,將其翻譯成服務器文化。那麼,如果它仍然不能工作服務器端,那麼工作客戶端驗證的重點是什麼?我錯過了什麼嗎?任何簡單的方法來做到這一點?就像google chrome html 5日期選擇器一樣,它使用本地日期,但將其轉換爲服務器(或不變)文化。

回答

0

基本上你需要同步服務器和客戶端之間的文化。

首先,您需要將服務器文化傳遞給客戶端。你可以把這個在您的視圖/佈局HTML lang屬性:

<html lang="@System.Globalization.CultureInfo.CurrentUICulture.Name"> 

另一種選擇是把這個信息元頭

一旦你有了這個信息,你需要初始化Globalize的客戶文化.js通過做這樣的事情:

$(document).ready(function() { 

    // Set Globalize to the current culture driven by the html lang property 
    var currentCulture = $("html").prop("lang"); 
    if (currentCulture) { 
     Globalize.culture(currentCulture); 
    } 
}); 

並記住包括正確的globalize.culture js文件。

~/scripts/globalize/globalize.culture.xx-XX.js 

更多信息this post來自John Reilly,解釋得非常好。