【问题标题】:MVC 5 globalization cultureMVC 5 全球化文化
【发布时间】:2015-03-13 08:12:51
【问题描述】:

我正在编写一个 MVC 5 互联网应用程序,该应用程序正在部署到 Azure。我想设置基于浏览器的文化,以便 DateTime 值以不同文化的正确格式显示。

这是我的web.config 代码:

<globalization culture="auto:en-US" uiCulture="auto:en-US" enableClientBasedCulture="true"/>

这就是所有需要做的事情吗?在网站发布到Azure 后查看视图时,只有 IE 以我当前的操作系统格式显示DateTime。 Google Chrome 和 Firefox 都没有使用我当前的操作系统格式。

为什么DateTime 值没有以我当前的文化格式显示(en-NZ)

提前致谢。

编辑

我已从 web.config 代码中删除了 enableClientBasedCulture="true",但浏览器仍未以我的正确文化显示 DateTime 值。

【问题讨论】:

    标签: c# datetime web-config asp.net-mvc-5 globalization


    【解决方案1】:

    documentation for the globalization Element (.NET 4) 开始,该属性目前不执行任何操作。

    启用ClientBasedCulture:

    可选属性。此属性目前未使用。

    【讨论】:

    • 您希望它们如何显示 (dd/MM/yyyy)?并以显示格式或在文本框或日期选择器中?
    • 这些值在视图中显示为简单文本。
    • 如果您将文化设置为&lt;globalization culture="en-NZ" uiCulture="en-NZ" /&gt;,它将显示为“dd/MM/yyyy”。或者您可以将[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")] 属性添加到属性中。
    • 我知道如何手动设置文化。那你是说目前无法用浏览器来判断文化?
    • 不可能可靠地得到它。您可以使用Request.UserLanguages 读取浏览器语言,但浏览器不需要发送Accept-Languages 标头,因此它可以为空,也可以返回多个项目(参考these answers)。
    猜你喜欢
    • 2017-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 2011-07-27
    相关资源
    最近更新 更多