Как настроить инвариантную культуру в глобализации ASP.NET? - PullRequest
24 голосов
/ 08 июля 2009

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

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

Ответы [ 2 ]

32 голосов
/ 05 января 2012

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

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

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

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

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

25 голосов
/ 08 июля 2009

Согласно документации CultureInfo , пустая строка указывает InvariantCulture.

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

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

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

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