Raf*_*res 5 asp.net datetime cultureinfo
当我在不同的服务器上部署 Web 应用程序时遇到问题。某些模式似乎存在不一致DateTimeFormat,例如ShortDatePattern使用相同的文化 (pt-BR)。
在我的开发计算机(安装了 Windows 7、安装了 .NET 4、面向 .NET 3.5 的应用程序)和 Windows Server 2008 R2(具有面向 .NET 4 的应用程序)服务器中,ShortDatePattern 是"dd/MM/yyyy"- 我猜这是正确的。
在生产服务器(Windows Server 2003,使用 .NET 3.5)中,它是"d/M/yyyy". 这给我带来了很多麻烦。
我可以通过手动设置模式来解决这个问题,但我真的很想避免每次需要输出日期时都这样做。特别是因为这在很多地方都非常重要(比如我使用 MVC 的 Html.TextBoxFor 的地方)并且需要大量重写。
如果有一种方法可以在一个地方更改整个 Web 应用程序的模式,那就太好了。我在文件中尝试了以下方法Global.asax.cs,但没有成功:
CultureInfo info = new CultureInfo(System.Threading.Thread.CurrentThread.CurrentCulture.ToString());
info.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy";
System.Threading.Thread.CurrentThread.CurrentCulture = info;
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
谢谢。
实际上,我试图在 Global.asax 文件中的错误位置使用上面的代码。
我设法通过将代码放入 Application_BeginRequest 方法来覆盖整个应用程序的 ShortDatePattern:
protected void Application_BeginRequest()
{
CultureInfo info = new CultureInfo(System.Threading.Thread.CurrentThread.CurrentCulture.ToString());
info.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy";
System.Threading.Thread.CurrentThread.CurrentCulture = info;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2940 次 |
| 最近记录: |