【问题标题】:How to configure invariant culture in ASP.NET globalization?如何在 ASP.NET 全球化中配置不变文化?
【发布时间】:2010-11-09 03:51:59
【问题描述】:

我需要将 CurrentCulture 修复为 ASP.NET 应用程序中的不变文化。我该怎么做?

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

【问题讨论】:

    标签: asp.net web-config globalization


    【解决方案1】:

    根据CultureInfo class documentation,空字符串指定InvariantCulture。

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

    @Page 指令可能会干扰您。如果您使用页面设计器的“生成本地资源”工具,它会自动将 culture="auto" uiculture="auto" 添加到您的页面指令中,从而覆盖 web.config。如果您只是删除了这些并且稍后有人使用了该工具,whammo,他们会回来,设置为自动,从而破坏您的应用程序。如果您尝试将它们设置为“”,则会出现错误。

    尝试将 web.config 和 page 指令都设置为此并希望获得最好的结果?

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

    【讨论】:

    • 查看我的更新。祝你好运。希望有内部工作知识的人可以在这方面提供更多帮助。
    • 这不是答案,但这是我结束的东西。谢谢。
    • ASP.NET 获取机器默认语言。在我的线程中,文化是 pt-BR
    【解决方案2】:

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

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

    或者你可以在页面上添加这个语句:

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

    希望这会有所帮助。

    【讨论】:

    • 为什么这被赞了 30 次?这不是不变的文化,而是en-US 文化,它不是 invariant culture
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-10
    • 2021-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    相关资源
    最近更新 更多