1
當打開包含帶小數點的數字(在本例中設置爲4)的(剃鬚刀)頁面時,逗號分隔符被解釋爲千位分隔符,它的小數位看到這樣的畫面:MVC中的十進制數值TextBoxFor以小數點位數擴展
這在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以瞭解如何設置文化。我曾嘗試過對你的建議進行過調整,但從未產生任何影響。關鍵是管理頁面應始終使用en文化,因此爲什麼我甚至不能在數字字段中寫'''。至少這是它對我的看法。 – user1246576