Странное поведение культуры в формах ASP.Net

1

На основе этого кода (принятого/измененного с сайта Microsoft)...

int i = 100;
string op = "";

// Creates/Displays a CultureInfo for English in Belize.
CultureInfo bz = new CultureInfo("en-BZ");
op += (i.ToString("c", bz)) + "<br/>";

// Creates/Displays CultureInfo for English in GB.
CultureInfo gb = new CultureInfo("en-GB");
op += (i.ToString("c", gb)) + "<br/>";

// Creates/Displays a CultureInfo for English in the U.S.
CultureInfo us = new CultureInfo("en-US");
op += (i.ToString("c", us)) + "<br/>";

// Creates/Displays a CultureInfo for Danish in Denmark.
CultureInfo dk = new CultureInfo("da-DK");
op += (i.ToString("c", dk)) + "<br/>";

litOutput.Text = op;

пожалуйста, может кто-нибудь объяснить, почему это результат, который я получаю. (обратите внимание на третий, предположительно en-US)

BZ$100.00
£100.00
100,00 €
kr. 100,00

.. и что мне нужно сделать, чтобы исправить это. Это только проблема недавно, когда я думаю, что у кого-то была "игра" на сервере.

Обновление/дополнительная информация

Если я запускаю один и тот же код в автономном приложении на сервере, я получаю ожидаемые результаты для культуры США, это только когда код работает в ASPNet, что все странно.

ТИА.

  • 1
    Если у вас есть люди, которые возятся с культурой вашего сервера, я бы просто сдался и начал заново с новым сервером или новым образом. Кто знает, что еще они испортили ...
  • 0
    К сожалению, мы немного «заперты» - не наш выбор хостов
Показать ещё 3 комментария
Теги:
webforms
culture

1 ответ

0
Лучший ответ

После нескольких часов поиска, прочитав MS-страницу после MS-страницы, я наконец нашел ответ в реестре. Как только подумал, кто-то возился.

Настройки по умолчанию в HKEY_USERS/.DEFAULT/Control Panel/International были изменены так, что код страны/имя/идентификатор все указывали на США, но форматы были европейскими.

Исправлена проблема с заменой их на правильные значения (либо путем замены страны на правильную, либо изменения формата в стиле США).

Спасибо за вашу помощь. Надеюсь, этот ответ поможет другим.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню