没有区域/国家名称和默认设置的Asp.Net区域性名称

没有区域/国家名称和默认设置的Asp.Net区域性名称,asp.net,globalization,cultureinfo,culture,currentuiculture,Asp.net,Globalization,Cultureinfo,Culture,Currentuiculture,我在一个多语言网站工作。我想使用culturename获取并设置culture和uiculture,而不使用countryname。如果浏览器是english或lang是english choosen,它将返回en而不是en US或en GB。因为每种语言使用一个localresources文件,并且必须将语言代码作为参数发送到sql过程 Thread.CurrentThread.CurrentCulture Thread.CurrentThread.CurrentCulture.Name

我在一个多语言网站工作。我想使用
culturename
获取并设置
culture
uiculture
,而不使用countryname。如果浏览器是english或lang是english choosen,它将返回
en
而不是
en US
en GB
。因为每种语言使用一个localresources文件,并且必须将语言代码作为参数发送到sql过程

Thread.CurrentThread.CurrentCulture
 Thread.CurrentThread.CurrentCulture.Name
 Thread.CurrentThread.CurrentUICulture
它们都返回en GB、de de、de AT等。。。我只想要第一部分,用这个。 链接中有名称,但浏览器不会返回它,我只想使用简单的部分。 我该怎么做

解决了(:

编辑: 现在,我如何阅读浏览器的文化,如果我没有,我如何设置我拥有的文化。 例如:我有
en
de
ru
和访问者的浏览器senme
fr
,我希望它显示为en?

查看-属性。它应该返回您正在查找的标识符。例如:

var cult = new System.Globalization.CultureInfo("en-US").TwoLetterISOLanguageName;

返回
“en”
,以便您可以将其发送到存储过程。

@user3318568:默认情况下,还应在应用程序中设置浏览器的区域性。如果要以其他方式设置,请参阅。