/ / Preencher o nome do mês anterior no menu suspenso em asp.net c # - c #

Preencher o nome do mês anterior na lista suspensa em asp.net c # - c #

Eu estou tentando preencher o nome do mês anteriorincluindo o mês atual. Ou seja, de março de 2018 até fevereiro de 2017. Eu usei a função addmonth para retornar o nome do mês, mas em algum lugar eu estou enfrentando duro para aplicar a minha lógica aqui.

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));
}
}

Esta lista suspensa começa em maio de 2018. Eu sub-traduzi -2 do mês, mas eu quero a maneira mais limpa de fazer isso

Respostas:

2 para resposta № 1

Você não deveria estar começando com o seu currentmonth porque month será positivo no começo e isso vai adicionar meses, não voltar (como você quer), aqui está como consertar isso:

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

Isso dá a partir de Marte 2018 a março de 2017, se você quiser parar em fevereiro de 2017, em seguida, basta substituir month >= -12 com month >= -13.