65.9K
CodeProject is changing. Read more.
Home

Load all the Country Names of the World in DropDown

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.94/5 (11 votes)

Mar 29, 2011

CPOL
viewsIcon

24743

DescriptionT...

Description

This shows how to bind Country names in DropDownList & also it contains some advantages.

Code

<html xmlns="http://www.w3.org/1999/xhtml">
<head   runat="server">
    <title>Bind Country names in Dropdownlist</title>
</head>
<body>
    <form id="form1"   runat="server">
    
<asp:DropDownList ID="ddlLocation" runat="server">
</form> </body> </html>
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Globalization;
using System.Collections;
using System.Text;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        ddlLocation.DataSource = CountryList();
        ddlLocation.DataTextField = "Key";
        ddlLocation.DataValueField = "Value";
        ddlLocation.DataBind();
    }

    public SortedList CountryList()
    {
        SortedList slCountry = new SortedList();
        string Key = "";
        string Value = "";

        foreach (CultureInfo info in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
        {
            RegionInfo info2 = new RegionInfo(info.LCID);
            if (!slCountry.Contains(info2.EnglishName))
            {
                Value = info2.TwoLetterISORegionName;
                Key = info2.EnglishName;
                slCountry.Add(Key, Value);
            }
        }
        return slCountry;
    }
}

Advantages

  • Here, Country names are loading from code behind so we can apply some filter/restriction for the items list here.(Example: Loading European countries, Loading Country names starts with 'A', etc.,)
  • Here TwoLetterISORegionName is used to DataValueField for DropDownList but we can use other things such as ThreeLetterISORegionName, NativeName, ISOCurrencySymbol, GeoId, CurrencySymbol, etc., from RegionInfo class
  • We can sort the Key field because SortedList was used here