I would populate this programatically.
So, in your code behind, do something like this - this is VB
date3.Items.Clear() '' This just ensures your list is now empty..
For i As Integer = Now.AddYears(-5).Year To Now.AddYears(10).Year
date3.Items.Add(New ListItem(i.ToString(), i.ToString()))
Next
And in C#
date3.Items.Clear(); // This just ensures your list is now empty..
for (int i = Now.AddYears(-5).Year; i <= Now.AddYears(10).Year; i++) {
date3.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
This will take todays year, subtract 5 from it for your starting point and then go up to 10 years in the future. You can change the -5 and 10 to suit whatever you want.
If you wanted to add something like a blank one at the start, say something like "Select Date" you could add this in after running the loop above.
Do something like this (VB):
date3.Items.Insert(0, New ListItem("- Please Select Date -", ""))
Or C#
date3.Items.Insert(0, new ListItem("- Please Select Date -", ""));
Update
To go in reverse you would simply start at the high number and go backwards, like this: (C#) - notice that we use i--
instead of i++
- this will subtract 1 on every loop rather than add one.
date3.Items.Clear(); // This just ensures your list is now empty..
for (int i = Now.AddYears(10).Year; i >= Now.AddYears(-5).Year; i--) {
date3.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
And in VB
For i As Integer = Now.AddYears(10).Year To Now.AddYears(-5).Year Step -1
date3.Items.Add(New ListItem(i.ToString(), i.ToString()))
Next