2012-02-13 2 views
0

У меня проблема с австралийской культурой. Я поставил это в коде:MVC 3 Глобализация - австралийская валюта

 string id = "en-AU"; 
     string ret = Request.ServerVariables["HTTP_REFERER"] ?? "/"; 
     string culture = CultureHelper.GetValidCulture(id); 
     HttpCookie cookie = Request.Cookies["_culture"]; 
     if (cookie != null) 
      cookie.Value = culture; 
     else { 
      cookie = new HttpCookie("_culture"); 
      cookie.HttpOnly = false; 
      cookie.Value = culture; 
      cookie.Expires = DateTime.Now.AddYears(1); 
     } 
     Response.Cookies.Add(cookie); 

, то я хочу, чтобы отобразить цену в AUD:

@String.Format("{0:C}", item.Price 

, но я например $55.00. Зачем ?

ответ

2

В вашем коде вы нигде не применяете культуру. Что-то вроде:

CultureInfo userCulture = CultureInfo.GetCultureInfo(culture);  
Thread.CurrentThread.CurrentCulture = userCulture; 
Thread.CurrentThread.CurrentUICulture = userCulture; 
+0

ОК, но я до сих пор получаю $ вместо AUD (я вижу, если я прохожу ан-AU он возвращает EN-US) – Tony

+0

Использование 'CultureInfo.CreateSpecificCulture (культура)' вместо то, потому что Я думаю, что GetCultureInfo предоставит вам нейтральную культуру («en» vs en-AU или en-GB ») –

+0

Нет, еще gettin'g знак $ – Tony

Смежные вопросы