2011-12-29 129 views
1

我想在我的网站上显示多种语言和UI文化。我已经启用了从浏览器自动所以拿起文化的IIS 7的标志:ASP.NET MVC 3中的文化问题

<globalization 
    enableClientBasedCulture="true" 
    culture="en-GB" 
    uiCulture="auto:en"/> 

这工作完全在正确的资源文件被加载,并显示正确的文化(0.00 GB; 0, 00代表DE)。

但是,这有一个意想不到的问题,干扰我的外部服务,例如这里是与PayPal接口的代码。

var paymentDetails = new PaymentDetailsType 
{ 
    ItemTotal = new BasicAmountType 
    { 
     currencyID = currencyCode, 
     Value = basket.SubTotal.ToString("0.00") 
    }, 
    ... 
} 

此代码基本上创建格式化像这样'50.25'一个字符串,然而如贝总是需要的点小数点,当选择的培养物,其具有逗号作为小数点(例如DE - 德语)的ToString("0.00")生成'50,25',所以我的代码失败。

什么是最好的方法来纠正?我仍然希望将文化设置为用户的文化,但是我想设置我的代码的某些部分以使用我自己的文化。

我知道我可以在ToString()的方法喂养一个特定的文化,但这似乎很hackish。更专业的清洁方法?

+0

在特定文化喂养_exactly_你需要做的,这就是贝宝需要什么。 – 2011-12-29 12:46:16

回答