Tendina automatica nazioni in .NET

 
29 lug 2013

Alzi la mano chi non ha mai avuto la necessità di aggiungere su una web application la classica drop down list con l'elenco delle Nazioni.

La prima tentazione è quella di interrogare Google in cerca di un webservice pubblico che fornisca tale lista, possibilmente aggiornato. Tuttavia, non ne ho mai trovato uno free, completo e facilmente integrabile con un controllo DropDownList di ASP.NET. Anche la soluzione di trovare la lista già completa scritta a mano da qualcuno è poco affidabile e difficilmente manutenibile.

La soluzione c'è e ce la fornisce direttamente il Framework di .NET, ecco il codice corrispondente!

Dim ddl1 As DropDownList = LA NOSTRA DROPDOWNLIST
Dim sd1 As New SortedDictionary(Of String, String)
Dim ci1() As CultureInfo
ci1 = CultureInfo.GetCultures(CultureTypes.AllCultures)
For Each ci2 As System.Globalization.CultureInfo In ci1
    Try
        Dim ri1 As RegionInfo = New RegionInfo(ci2.LCID)
        If Not sd1.ContainsKey(ri1.EnglishName) Then
            sd1.Add(ri1.EnglishName, ri1.TwoLetterISORegionName)
        End If
    Catch ex As Exception
    End Try
Next For Each kvp1 As KeyValuePair(Of String, String) In sd1 Dim li1 As New ListItem     li1.Text = kvp1.Key     li1.Value = kvp1.Value     ddl1.Items.Add(li1)
Next

Si tratta sostanzialmente di iterare attraverso le culture messe già a disposizione del sistema. Da notare che l'oggetto RegionInfo contiene tutte le informazioni relative alla specifica cultura. Con lo stesso metodo possiamo quindi creare tendine per le monete, i sistemi metrici, ecc....

Davvero una grande facilitazione!

© Gabriele Pala, 2012-2014. All rights reserved. P.IVA 01137470314 - C.F. PLAGRL77S16L424T | Cell: 320 3334704 | Mail: info@fvg-informatica.it | Strada delle Acacie, 5/A - Staranzano (GO) | Privacy & Cookies
Questo sito non utilizza cookie di profilazione propri. Sono invece utilizzati cookie tecnici e di terze parti per fini operativi, statistici e pubblicitari. Per sapere a cosa servono i cookie e per impostare le proprie preferenze visitare la pagina Privacy & Cookies. Continuando la navigazione o chiudendo questo avviso, acconsenti all'uso dei cookie e ai termini riportati alla pagina Privacy Policy.
OK