我希望在我的网络应用程序中强制使用丹麦文化,但我无法让它发挥作用。我试图填写一个带有丹麦国名的下拉列表,但是他们用英文返回。
public static IEnumerable<SelectListItem> GetCountries(string selectedDisplayName)
{
var countryNames = new List<SelectListItem>();
foreach (var cul in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
{
var country = new RegionInfo(new CultureInfo(cul.Name, false).LCID);
var item = new SelectListItem()
{
Text = country.DisplayName,
Value = country.DisplayName
};
if (!String.IsNullOrEmpty(selectedDisplayName) && country.DisplayName.Equals(selectedDisplayName))
{
item.Selected = true;
}
countryNames.Add(item);
}
IEnumerable<SelectListItem> nameAdded = countryNames.GroupBy(x => x.Text).Select(x => x.FirstOrDefault()).ToList().OrderBy(x => x.Text);
return nameAdded;
}
我的web.config有这个(没有效果):
<system.web>
<globalization uiCulture="da-DK" culture="da-DK" />
</system.web>
有人有什么建议吗?
答案 0 :(得分:2)
根据MSDN(http://msdn.microsoft.com/en-us/library/system.globalization.regioninfo.displayname(v=vs.110).aspx),RegionInfo.DisplayName
将使用已安装的.NET版本的语言,该语言总是与Windows安装的语言相同。
相反,请使用始终为本地名称的RegionInfo.NativeName
(http://msdn.microsoft.com/en-us/library/system.globalization.regioninfo.nativename(v=vs.110).aspx)。