Gab*_*erg 7 asp.net globalization cultureinfo
我遇到了一个使用内置全球化设施的ASP.NET应用程序崩溃的情况.
在具有Culture ="auto"指令的ASP.NET页面上,具有中性文化作为其浏览器语言的用户(例如"zh-Hans")将产生以下异常:
文化'zh-Hans'是一种中性文化.它不能用于格式化和解析,因此不能设置为线程的当前文化.
在System.Globalization.CultureInfo.CheckNeutral(CultureInfo文化)的System.Threading.Thread.set_CurrentCulture(CultureInfo值)在System.Web.UI.Page.set_Culture(字符串值)的ASP.somePage_aspx .__ BuildControlTree(somePage_aspx __ctrl)在ASP .somePage_aspx.FrameworkInitialize()
有任何想法吗?输入Culture/UICulture参数的垃圾通常似乎被忽略,但是这种情况导致了未处理的异常.
我遇到了同样的问题,把头撞到墙上一段时间后,我的鼻子下面找到了答案.
我遇到的问题是没有理解CurrentCulture和CurrentUICulture之间的区别.不同之处在于CurrentCulture用于格式化日期,数字和执行排序,CurrentUICulture用于从资源中查找特定于文化的字符串.
我有一些看起来像的代码
return input.ToString("C", System.Globalization.CultureInfo.CurrentUICulture);
Run Code Online (Sandbox Code Playgroud)
应该是什么时候
return input.ToString("C", System.Globalization.CultureInfo.CurrentCulture);
Run Code Online (Sandbox Code Playgroud)
当您开始尝试使用非特定文化格式化特定于文化的项目时,您将获得System.NotSupportedException.
首先,您可以考虑在 <%@ Page %> 声明中设置 UICulture="auto" 和 Culture="auto"。
现在,我在 .NET 4.0(测试版)安装中没有看到此重现,因此这可能是 .NET 3.5 中的产品错误。
这是了解中立文化以及 UICulture 和文化之间差异的绝佳资源:http://blogs.msdn.com/ddietric/archive/2008/02/05/yacvcp-yet-another-currentculture-vs-currentuiculture-post .aspx
希望这有帮助。
归档时间: |
|
查看次数: |
8516 次 |
最近记录: |