Как настроить инвариантную культуру в ASP.NET-глобализации?

Мне нужно исправить CurrentCulture как инвариантную культуру в приложении ASP.NET. Как я могу это сделать?

<configuration>
   <system.web>
      <globalization culture="???" />
   ...

Ответ 1

В соответствии с Документация класса CultureInfo пустая строка указывает InvariantCulture.

Изменить (протестировано на .NET 3.5 sp1)
По умолчанию для культуры и UICulture установлено значение "в файле web.config. Я думаю, что .Net просто делает свою собственную вещь и устанавливает их в" en-US "во время выполнения, хотя в документации говорится, что" en "- это инвариантная культура, а не" en-US".

Директива @Page может мешать вам. Если вы использовали инструмент "Создать локальные ресурсы" конструктора страниц, он автоматически добавляет в свою страницу директиву Culture = "auto" uiculture = "auto", что переопределяет web.config. Если вы просто удалите тех, и кто-то использует этот инструмент позже, whammo, они вернутся, настроены на автоматическое, прослушивание вашего приложения. Если вы попытаетесь установить их в "", вы получите сообщение об ошибке.

Попробуйте установить для этого как web.config, так и директиву страницы и надейтесь на лучшее?

culture="en-US" uiCulture="en"

Ответ 2

Либо добавьте в файл web.config следующее:

<system.web>
    <globalization culture="en-US" uiCulture="en-US" />
</system.web>

или вы можете добавить это выражение на страницу:

<%@ Page uiCulture="en-US" culture="en-US" %>

Надеюсь, что это поможет.