Memorandum ASP.NET


Il blog di uno smanettone .net
Archivio Posts
Anno 2012

Anno 2011

ASP.NET DropDownList Tips: Elenco mesi

Spesso capita di dover presentare la possibilità di scegliere un mese dell'anno. Possiamo farlo tramite un Calendario o anche semplicemente tramite una ComboBox.
Ma se il nostro sito è multilingua? Come facciamo a presentare i nomi dei mesi nella lingua giusta?

Il classico (e sbagliato) approccio dei dodici listitem dichiarati esplicitamente, che siano nella pagina ASPX, che siano nel codeBehind, non ci permette di essere "dinamici" rispetto alla lingua utilizzata nel contesto.

<asp:DropDownList ID="ddlMesi" runat="server">
    <asp:ListItem Text="Gennaio" Value="1" />
    <asp:ListItem Text="Febbraio" Value="2" />
    <!-- ... -->
    <asp:ListItem Text="Novembre" Value="11" />
    <asp:ListItem Text="Dicembre" Value="12" />
</asp:DropDownList>

Questo esempio ci fa notare che la visualizzazione dei dati è troppo legata alla scelta dello sviluppatore, e implementa l'esigenza solo per un caso singolo.

Per essere elastici e creare la medesima lista a runtime, e crearla nella lingua utilizzata nel contesto, ecco un piccolo snippet da usare nel codeBehind per una DropDownList vuota:

if (this.ddlMesi.Items.Count <= 1)
    for (int i = 1; i <= 12; i++)
    {
        ddlMesi.Items.Add(new ListItem(
            System.Globalization.DateTimeFormatInfo.CurrentInfo.GetMonthName(i),
            i.ToString()
        ));
    }

Buona visione....

Categoria: ASP.NET
lunedì, 07 mag 2012 Ore. 13.29
Statistiche
  • Views Home Page: 11.393
  • Views Posts: 21.498
  • Views Gallerie: 0
  • n° Posts: 20
  • n° Commenti: 2
Mappa


Cerco un gentile volontario che mi aiuti a tradurre i miei post in inglese (sono una schiappa)
Lasciatemi un contatto

Offerte Estive NAVTEQ
Offerte Estive NAVTEQ


Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003