Click here to Skip to main content
15,861,168 members
Articles / Web Development / HTML
Alternative
Tip/Trick

Load all the Country Names of the World in DropDown

Rate me:
Please Sign up or sign in to vote.
4.94/5 (11 votes)
29 Mar 2011CPOL 23.1K   8   8
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)


Written By
Team Leader
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralMy vote of 5 Pin
Phillip Quinlan20-Jun-18 12:21
Phillip Quinlan20-Jun-18 12:21 
GeneralReason for my vote of 5 best solution so far Pin
janwel26-May-11 21:12
janwel26-May-11 21:12 
GeneralReason for my vote of 5 good Pin
CS201130-Mar-11 5:32
professionalCS201130-Mar-11 5:32 
GeneralReason for my vote of 5 This probably would be the best solu... Pin
DrABELL29-Mar-11 9:05
DrABELL29-Mar-11 9:05 
GeneralRe: Yes it was me who reported that, a few countries were missin... Pin
Tarun.K.S1-Apr-11 7:50
Tarun.K.S1-Apr-11 7:50 
GeneralBut not all countries are getting displayed. Pin
Tarun.K.S29-Mar-11 4:03
Tarun.K.S29-Mar-11 4:03 
GeneralRe: I just noticed that...I'll update the code Tarun. Thanks. Pin
thatraja29-Mar-11 17:53
professionalthatraja29-Mar-11 17:53 
GeneralRe: But not all countries are getting displayed. Pin
Member 966201012-Dec-12 23:55
Member 966201012-Dec-12 23:55 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.