2011-10-14 81 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