Search code examples
c#asp.netwebforms

What is the best way to code up a Month and Year drop down list for ASP.NET?


I have an internal application that I needs to have a drop down list for two date type elements: Month and Year. These values are not in a database or other repository of information.

I know I could just setup a list with the values I need by adding them to a dictionary like object (I need to correlate the Month to the numerical representation, January => 01):

var months = new Dictionary<String,String>();
months.Add("01", "January");
...

The drop down list for the year will be a bit easier as I can just choose a starting year and iterate up to the current or current+1 year in a generic list.

Is there a better way to handle these data elements? Something built in, or a good design pattern that I should be implementing?


Solution

  • You could use this to get a list of all the Month names and loop through it.

    CultureInfo.CurrentCulture.DateTimeFormat.MonthNames
    

    You can use it like this...using the index of the Month as the value for your dropdown

    var months = CultureInfo.CurrentCulture.DateTimeFormat.MonthNames;
    for (int i = 0; i < months.Length; i++)
    {
         ddl.Items.Add(new ListItem(months[i], i.ToString()));
    }