C# .net mvc在同一页面上应用不同的区域设置
我有一个MVC网站,我想在丹麦运行 基于这个线索,我得到了工作 但我也有一些地方希望生成JavaScript,这里我希望区域设置为英语,因为这是JavaScript中唯一有效的东西C# .net mvc在同一页面上应用不同的区域设置,c#,javascript,asp.net-mvc,asp.net-mvc-4,razor,C#,Javascript,Asp.net Mvc,Asp.net Mvc 4,Razor,我有一个MVC网站,我想在丹麦运行 基于这个线索,我得到了工作 但我也有一些地方希望生成JavaScript,这里我希望区域设置为英语,因为这是JavaScript中唯一有效的东西 @Model.price 将给出9,95 string.Format("{0:#.##}",Model.price) 也给出了9,95 及 我给10英镑 那么,当站点使用丹麦语时,使用Razor构建正确的“英语”JavaScript的最佳实践是什么呢?您的问题在于该字符串。没有特定区域性的格式仍将使用当前线程的
@Model.price
将给出9,95
string.Format("{0:#.##}",Model.price)
也给出了9,95
及
我给10英镑
那么,当站点使用丹麦语时,使用Razor构建正确的“英语”JavaScript的最佳实践是什么呢?您的问题在于该字符串。没有特定区域性的格式仍将使用当前线程的区域性来解析和转换为字符串。通过将页面的区域性设置为丹麦语,您指定丹麦语也应用于字符串转换 您可以指定要使用的区域性,方法是将其作为第一个参数传递给,例如: 您可以在任何需要IFormatProvider参数的方法中传递区域性。Format和几乎所有的ToString()和Parse()方法都有接受此参数的重载 当您在不传递特定区域性的情况下使用这种方法时,诸如Resharper之类的工具甚至会警告您可能出现的转换错误
顺便说一句,正确使用的文化是英语,而不是英语,否则你可能会以美国式的日期等结束。澄清一下:你想知道在使用不同默认语言的网站上工作时如何用英语编写所有javascript吗?默认区域设置是丹麦语,是的,但如果javascript获得“var foo=5,7”,那么它会阻塞。它想要“var foo=5.7”,但我所有的小数现在都使用逗号。将CultureInfo.InvariantCulture作为第一个参数传递。就这些
string.Format("{0:#,##}",Model.price)
string.Format(CultureInfo.InvariantCulture,"{0:#,##}",Model.price)