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

32

我需要在一个ASP.NET应用程序中将CurrentCulture设置为不变的文化。我该怎么做?

<configuration>
   <system.web>
      <globalization culture="???" />
   ...
2个回答

43

要么将以下内容添加到您的web.config文件中:

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

或者您可以在页面上添加此语句:

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

希望这可以帮到你。


19
为什么这个帖子会获得30个赞?这不是固定的文化,而是en-US文化,它并不是固定文化 - RobIII

27
根据 CultureInfo类文档,空字符串指定InvariantCulture。
编辑(在.NET 3.5 sp1上测试)默认情况下,Culture和UICulture在web.config中设置为""。我猜.Net会自己处理,并在运行时将它们设置为"en-US",即使文档说"en"是不变的文化,而不是"en-US"。
@Page指令可能会干扰您。如果您使用页面设计器的“生成本地资源”工具,则会自动向页面指令添加culture="auto" uiculture="auto",这会覆盖web.config。如果您只删除那些,并且稍后有人使用该工具,那么他们会回来,设置为自动,从而破坏您的应用程序。如果您尝试将它们设置为"",则会出现错误。
尝试将web.config和页面指令都设置为此值,并希望一切顺利?
culture="en-US" uiCulture="en"

看看我的更新。祝你好运。希望有熟悉内部机制的人可以提供更多帮助。 - Greg
这不是答案,但这是我最终得出的结论。谢谢。 - Mike Chaliy
ASP.NET 获取机器默认语言。在我的线程中,Culture 是 pt-BR。 - Felipe Pessoto

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接