ASP.NET客户端本地化和Javascript

时间:2014-06-09 00:39:21

标签: javascript asp.net asp.net-mvc-4 localization

我正在构建一个支持法语的基于Web的应用程序。 在ASP.NET中,我将Thread.CurrentThread.CurrentCulture设置为fr-FR。一切都在ASP.NET中以法语格式工作,这很棒。 但是,如果我有如下代码,我会遇到ASP.NET和Javascript之间的不兼容问题:

var value = <%:Model.Amount%>;
var total = value * 12;

以上内容将呈现为:

var value = 1023,00;
var total = value * 12;

从浏览器中收到以下错误消息:

未捕获的SyntaxError:意外的数字

有没有告诉浏览器使用哪种语言环境?我尝试了“接受语言”元标记,但没有帮助。

注意:我不是在寻找如何在没有文化的情况下将十进制值渲染到屏幕中,并且非常了解:

<%:Convert.ToString(Model.Amount, new System.Globalization.CultureInfo(""))%>

我正在寻找一种方法来告诉浏览器我的语言环境是什么,这样我就不必浏览项目的所有页面,看看哪些内容正在破坏并改变它们。

1 个答案:

答案 0 :(得分:0)

你试过accounting.js http://josscrowcroft.github.io/accounting.js/

吗?

accounting.js是一个用于数字,货币和货币格式的小型JavaScript库,带有可选的excel样式列呈现(排列符号和小数)。它是轻量级的,完全可以本地化,并且没有依赖性。

<%:Model.Amount.ToString("N2", CultureInfo.CreateSpecificCulture("en-US").Replace(",", "")%>