在NopCommerce中发布时,浏览器会添加零

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在NopCommerce中发布时,浏览器会添加零相关的知识,希望对你有一定的参考价值。

在NopCommerce Product编辑中更新价格时,点后面的零将添加到数字中。

例如440.0000变为4400000

价格以十进制类型存储。客户端计算机上使用的语言是丹麦语,通常使用','作为小数分隔符。在编辑网页点'。'用作小数分隔符,它不接受','。通过谷歌搜索我已经看到其他丹麦人有同样的问题。

这个question and answer可以识别问题,也许可以提供解决方案。谁能告诉我如何在NopCommerce中实现它?

尽管它是“开源”,但它不能对NopCommerce源代码进行任何更改,因为我正在尝试修复遗留系统。

Chrome和Firefox都会出现此问题。

答案

根据您使用的nopCommerce版本,请查看

Global.asax.cs - SetWorkingCulture()

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();
}

ComonHelper.cs - SetTelerikCulture()

public static void SetTelerikCulture()
{
    //little hack here
    //always set culture to 'en-US' (Kendo UI has a bug related to editing decimal values in other cultures). Like currently it's done for admin area in Global.asax.cs

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

上面的代码块代表nopCommerce 3.90。

尽管它是“开源”,但它不能对NopCommerce源代码进行任何更改,因为我正在尝试修复遗留系统。

由于您不想更改nopCommerce源代码,因此您别无选择,只能使用en-US文化来使用nop Admin。

编辑

您可以尝试的一件事是添加telerik提供的文化脚本之一。见~/Scripts/kendo/2014.1.318/cultures/...

虽然这需要对视图进行微小更改(源代码)

另一答案

这个答案只是为了结束这个问题。感谢Raphael的回答。

解决问题的唯一方法是设置工作文化并进行重新编译,这在问题中写的不是一个选项。因为我不知道遗留编译中是否有任何自定义更改。

以上是关于在NopCommerce中发布时,浏览器会添加零的主要内容,如果未能解决你的问题,请参考以下文章

Nopcommerce 之事件机制

在快速自定义的NopCommerce中使用实体框架(EF)代码优先迁移

防止为 nopCommerce 缓存 CSS

清单项目,客户NopCommerce

如何发布 NopCommerce 和 NopCommerce 管理网站?

如何向 NOPCommerce v2.4 添加新表