asp.net mvc 3 - MVC 3 Razor:国家选择下拉列表

Jes*_*esi 2 country razor asp.net-mvc-3 drop-down-menu

我的控制器动作代码:

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

查看代码:

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

它会生成一个未排序语言的下拉列表.但我需要一个已排序国家/地区列表的下拉列表.请帮忙!!!!

GvS*_*GvS 7

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

语言/文化列表是稳定的,国家来来去去,或经常更改名称.

转到ISO站点,您可以从他们的站点下载国家列表.您必须下载此列表,并经常更新您的数据.

更新:国家代码列表不再由ISO自由分发,更多信息可在iso.org网站上找到.

你必须决定,如果你想把巴勒斯坦这样的国家列入这个名单(巴勒斯坦就在这个名单上,只是"新"国家的一个例子).您可能需要手动添加它们.


vir*_*mic 5

Is this what you want?

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