如何在ASP.NET全球化中配置不变文化?

Mik*_*liy 25 asp.net globalization web-config

我需要将CurrentCulture修复为ASP.NET应用程序中的不变文化.我怎样才能做到这一点?

<configuration>
   <system.web>
      <globalization culture="???" />
   ...
Run Code Online (Sandbox Code Playgroud)

小智 39

将以下内容添加到web.config文件中:

<system.web>
    <globalization culture="en-US" uiCulture="en-US" />
</system.web>
Run Code Online (Sandbox Code Playgroud)

或者您可以在页面上添加此声明:

<%@ Page uiCulture="en-US" culture="en-US" %>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.

  • 为什么这个被投票了30次?这不是不变的文化,它是'en-US`文化,它不是[不变文化](https://msdn.microsoft.com/en-us/library/system.globalization. cultureinfo.invariantculture(v = vs.110)的.aspx). (9认同)

Gre*_*reg 26

根据CultureInfo类文档,空字符串指定InvariantCulture.

编辑(在.NET 3.5 sp1上测试)
默认情况下,在web.config中将Culture和UICulture设置为"".我想.Net只是做了自己的事情,并在运行时将它们设置为"en-US",即使文档说"en"是不变的文化,而不是"en-US".

@Page指令可能会干扰你.如果您使用了页面设计器的"生成本地资源"工具,它会自动将culture ="auto"uiculture ="auto"添加到您的页面指令,该指令将覆盖web.config.如果你只是删除了那些,有人稍后使用该工具,那么,他们会回来,设置为自动,窃听你的应用程序.如果您尝试将它们设置为"",则会出错.

尝试将web.config和page指令设置为此并希望最好?

culture="en-US" uiCulture="en"
Run Code Online (Sandbox Code Playgroud)