Заполнение выпадающего списка с помощью цикла for в бритве - PullRequest
0 голосов
/ 17 мая 2018

Я знаю, что это не лучшая практика, но мне любопытно, как бы вы заполнили dropdownlist, используя for цикл в бритве.

Я пытаюсь сделать это такway

@{
      int year = DateTime.Now.Year;

      @Html.DropDownListFor(model => model.ResolutionYear, new List<SelectListItem>
      {
          for (var i = 0; i < 10; i++)
          {
              if (year - i == year)
              {
                  new SelectListItem() { Text = (year - i).ToString(), Value = (year - i).ToString(), Selected = true };
              }
              else
              {
                  new SelectListItem() { Text = (year - i).ToString(), Value = (year - i).ToString() };
              }
          }
        })
}

Кажется, мне не нравится то, как я это делаю, потому что он все время кричит на меня } expected У меня есть все закрывающие скобки для каждой открытой скобки.Возможно, я неправильно заполняю DropDownList?Можно ли вообще так заполнять или мне просто сделать это в контроллере?

1 Ответ

0 голосов
/ 18 мая 2018

Не делай этого.Держите ваши взгляды как можно более мягкими.Используйте вашу View Model и Controller, вот для чего они.Но ради любопытства вот один из способов:

@{ var year = DateTime.Now.Year; }
<select>
@for (var i = year; (i > year - 10); i--)
{
    if (i == (year - 3))
    {
        <option value="@i" selected>@i</option>
    }
    else
    {
        <option value="@i">@i</option>
    }
}
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...