Загрузка лет в 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;
    }
Другие вопросы по тегам