Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / web / HTML

Load all the Country Names of the World in DropDown

4.94/5 (11 votes)
29 Mar 2011CPOL 24.7K  
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">
    <div>
        <asp:DropDownList ID="ddlLocation" runat="server">        
    </div>
    </form>
</body>
</html>

C#
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

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)