Загрузка лет в ASP.Net DropDownList
Мне нужно заполнить свой DropDownList годами, но я борюсь с этим. Я пытался делать это в течение нескольких месяцев и преуспел. Проблема в том, что у меня возникают проблемы при вызове правильных методов для объекта DateTime. Кто-нибудь может мне помочь?
Вот как я загружал месяцы в свой DropDownList:
Sub LoadMonth()
Try
ddlMonth.Items.Clear()
If ddlMonth.Items.Count = 0 Then
For month As Integer = 1 To 12
Dim monthName As String = DateTimeFormatInfo.CurrentInfo.GetMonthName(month)
ddlMonth.Items.Add(New ListItem(monthName, month.ToString("00")))
Next
End If
ddlMonth.Items.Insert(0, New ListItem("--Select--", 1))
Catch ex As Exception
End Try
End Sub
3 ответа
Решение
Вы можете просто достичь этого, используя цикл вроде:
Dim i as integer
for i = 2008 to 2100
ddlYear.Items.Add(i.ToString());
next i
ddlYear.Items.FindByValue(System.DateTime.Now.Year.ToString()).Selected = true; //set current year as selected
надеюсь это поможет.
Взгляните на это, может быть, полная помощь для вас:
Dim myList As New List(Of Integer)
myList.AddRange(Enumerable.Range(1950, 100).Reverse())
ddlYear.DataSource = myList
ddlYear.DataBind()
ddlYear.Items.FindByValue(System.DateTime.Now.Year.ToString()).Selected = true;
Работает нормально, спасибо.
private void LoadYears()
{
int i;
for (i = 2019; i <= 2125; i++)
{
cb_Years.Items.Add(i.ToString());
cb_Years.Items.FindByValue(System.DateTime.Now.Year.ToString());
}
string strYear = System.DateTime.Now.Year.ToString();
cb_Years.Items.Insert(0, new ListEditItem(strYear, Convert.ToString(0)));
cb_Years.SelectedIndex = 0;
}