C# 使用CultureInfo取得國家清單

有時候在製作網站,經常會需要有一個欄位是紀錄國家/地區別,.NET提供一個很方便的元件

CultureInfo類別

命名空間:using System.Globalization;
組件為:mscorlib (在 mscorlib.dll 中)

詳細解說可參考MSDN


這邊使用簡單的範例,透過dropdownlist控制項顯示清單,

選取後於TextBox呈現所選取項目


開啟專案後,新增一空白頁,命名空間加上去


using System.Globalization;

接著撰寫取得清單的程式

 private static List<string> CountryList()
        {
            List<string> CultureList = new List<string>();
            CultureInfo[] getCultureInfo = CultureInfo.GetCultures(CultureTypes.SpecificCultures);
            foreach (CultureInfo getculture in getCultureInfo)
            {
                RegionInfo getRegioninfo = new RegionInfo(getculture.LCID); //包含關於國家/地區的資訊。
                if(!CultureList.Contains(getRegioninfo.DisplayName)) //判斷是否重覆
                {
                    CultureList.Add(getRegioninfo.DisplayName); //加入LIST
                }
           
            }
            CultureList.Sort(); //排序
            return CultureList;
        }


接著將回傳的LIST綁訂於dropdownlist的資料來源上

 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DropDownList1.DataSource = CountryList(); //資料綁訂
                DropDownList1.DataBind();
            }
        }

最後當下拉選取時,將值顯示於textbox上

  protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            TextBox1.Text = DropDownList1.SelectedValue;
        }

最後畫面



留言