2011-10-14 211 views
2

我的控制器动作代码:asp.net MVC 3 - MVC 3剃须刀:国家选择下拉列表

ViewBag.country = from p in CultureInfo.GetCultures(CultureTypes.AllCultures & ~CultureTypes.NeutralCultures) 
           select new SelectListItem 
           { 
            Text = p.EnglishName, 
            Value = p.DisplayName 
           }; 

查看代码:

<dl> 
    <dt> 
    <label> 
     Country: 
    </label> 
    </dt> 
    <dd> 
    @Html.DropDownListFor(model => model.Country, (IEnumerable<SelectListItem>)ViewBag.country) 
    </dd> 
<dl> 

它会产生一个下拉未排序语言列表。但我需要一个排序的国家名单下拉列表。请帮助!!!!

+1

也许你得等一下 – Frederiek

回答

6

这是你想要的吗?

ViewBag.country = from p in CultureInfo.GetCultures(CultureTypes.AllCultures & ~CultureTypes.NeutralCultures).OrderBy(c=>c.Name) 
          select new SelectListItem 
          { 
           Text = p.EnglishName, 
           Value = p.DisplayName 
          }; 
+0

这没有帮助。 –

7

Windows和/或.Net不包含所有国家/地区的列表。

语言/文化的列表是稳定的,国家来来去去,或频繁更名。

转到ISO网站,您可以从他们的网站 download a list of countries。您必须下载此列表,并经常更新您的数据。

更新:国家代码列表不再自由地通过ISO分布,了解更多信息can be found on the iso.org site.

而且你必须决定,如果你想包括像巴勒斯坦这样的国家在此列表中(巴勒斯坦是这个清单,只是“新”国家的一个例子)。你可能不得不手动添加它们。

+0

是否有任何jQuery插件可用于在mvc3中生成国家/地区列表? – Jesi

+0

链接已损坏 – TlonXP