处理浏览器文化时ASP.NET 2.0中的错误

时间:2011-12-16 18:00:24

标签: asp.net culture

我的网络配置中有这个设置:

<globalization culture="auto" uiCulture="auto"/>

代码在VS 2010中编译。

如果目标平台设置为.NET 2.0或3.0,则它仅适用于IE,我在Chrome上出现此错误

  

“文化'es'是一种中性文化。它不能用于格式化   和解析,因此不能设置为线程的当前   培养物“。

如果目标平台是.NET 4.0,它适用于IE和Chrome。

这是ASP.NET 2.0 / 3.0中的错误吗?它有解决方法吗?

2 个答案:

答案 0 :(得分:0)

听起来它可能是一个错误。你可以发布堆栈跟踪吗?

您也可以尝试使用Fiddler等工具查看两个浏览器发送的Accept-Language标头,以了解它们之间的区别。

请注意,使用IE,您可以控制Accept-Language标头中发送的内容。只需打开IE,然后在工具/ Internet选项/常规中,单击语言按钮。点击添加,例如添加自定义语言“es”,并将其移至列表顶部。

<强>更新

听起来与the problem described in this StackOverflow question类似。

该问题中的堆栈跟踪显示在Page.Culture属性设置器中抛出了异常。我会说这是一个bug;并且可能已在最新版本的Framework中修复(我无法使用.NET 3.5和最新的Service Pack重现它。)

答案 1 :(得分:0)

使用CultureInfo.CreateSpecificCulture结束。它大部分时间都有效。

.NET 4允许设置中性文化以进行格式化。它选择了该语言人口最多的文化,这就是我所听到的。