/ / Заселіть назву попередніх місяців у спадному меню asp.net c # - c #

Заповніть ім'я попередніх місяців у випадаючому списку в asp.net c # - c #

Я намагаюся заповнити ім'я попередніх місяціввключаючи поточний місяць. тобто з березня 2018 року по лютий 2017 року. Я використовував функцію addmonth для повернення імені місяця, але десь мені важко застосувати тут свою логіку.

private void loadmonthlst()
{
DropDownMonth.Items.Clear();
int currentmonth = DateTime.Now.AddHours(13).Month;

for (int month = currentmonth-1; month >= -12; month--)
{
string monthName = DateTime.Now.AddMonths(month).ToString("MMMM yyyy");
DropDownMonth.Items.Add(new ListItem(monthName));
}
}

Це спадне меню починається з травня 2018 року. Я відніс -2 від місяця, але я хочу, щоб це було найчистішим способом

Відповіді:

2 для відповіді № 1

Ви не повинні починати з вашого поточного місяця, тому що month буде позитивним на початку, і це "додасть місяці, а не повернешся (як хочеш), ось як це виправити:

for (int month = 0; month >= -12; month--)
{
string monthName = DateTime.Now.AddMonths(month).ToString("MMMM yyyy");
Console.WriteLine(monthName);
}

Це дає з Марса 2018 на Марс 2017, якщо ви хочете, щоб він зупинився на лютому 2017 року, тоді просто замініть month >= -12 з month >= -13.