2016-03-22 62 views
1

當打開包含帶小數點的數字(在本例中設置爲4)的(剃鬚刀)頁面時,逗號分隔符被解釋爲千位分隔符,它的小數位看到這樣的畫面:MVC中的十進制數值TextBoxFor以小數點位數擴展

1

這在NopCommerce 3.8開發樹的管理面板,只有一個遠程服務器上發生的事情。我在本地沒有看到我的調試版本出現這個問題,所以這可能與服務器設置或甚至底層數據庫(Microsoft SQL Server)有關。我不確定這是一個NopCommerce問題,但我不會將其限制爲該標籤。

我知道NopCommerce因爲Kendo Grid的工作原理而迫使管理面板中的en文化。再次,我不確定這與實際問題有什麼關係。

此問題還體現在文本框不允許使用','字符。我只能使用'。'。試圖保存的數,如「0.20」終止與消息:

值「0.2000」是無效...

更新1(培養在Global.asax中設定。 cs):

if (webHelper.GetThisPageUrl(false).StartsWith(string.Format("{0}admin", webHelper.GetStoreLocation()), 
    StringComparison.InvariantCultureIgnoreCase)) 
{ 
    //admin area 


    //always set culture to 'en-US' 
    //we set culture of admin area to 'en-US' because current implementation of Telerik grid 
    //doesn't work well in other cultures 
    //e.g., editing decimal value in russian culture 
    CommonHelper.SetTelerikCulture(); 
} 
else 
{ 
    //public store 
    var workContext = EngineContext.Current.Resolve<IWorkContext>(); 
    var culture = new CultureInfo(workContext.WorkingLanguage.LanguageCulture); 
    Thread.CurrentThread.CurrentCulture = culture; 
    Thread.CurrentThread.CurrentUICulture = culture; 
} 

回答

1

這確實看起來像是它所使用的文化的問題。嘗試在web.config中指定要使用的文化:

<configuration> 
    <system.web> 
     <globalization uiCulture="en" culture="en-US" /> 
+0

請參閱更新1以瞭解如何設置文化。我曾嘗試過對你的建議進行過調整,但從未產生任何影響。關鍵是管理頁面應始終使用en文化,因此爲什麼我甚至不能在數字字段中寫'''。至少這是它對我的看法。 – user1246576

相關問題