DropDownList для отображения не всех пользователей, которые захватили форму linq - PullRequest
1 голос
/ 08 апреля 2019

У меня есть некоторый код MVC, который я пытаюсь получить список пользователей с помощью linq, и использую Html.DropDownListFor () для их отображения.Я отладил свой код, и мой linq возвращает 8 пользователей (что и должно быть), однако, когда я запускаю страницу и щелкаю раскрывающийся список, в качестве опции отображается только «Все».

Я что-то пропустил?

Контроллер:

var distinctExecutedByUsers = db.validation_results
      .Where(c => c.id_merchant == CurrentCasinoID)
      .Select(u => u.executed_by)
      .Distinct()
      .ToList();
foreach (var user in distinctExecutedByUsers)
{
    vm.ExecutedByUsers.Add(new SelectListItem
    {
        Text = user, Value = user
    });
}

Модель:

public PVReportViewModel()
{
    PVReportPostData = new PVReportPostData();
    Results =  new List<PVReportResult>();

    ExecutedByUsers = new List<SelectListItem>{};
}

public List<SelectListItem> ExecutedByUsers { get; set; }

Вид:

  <div class="form-group form-group-sm">
       <text>Executed By User</text><!--Need to add ExecutedBy to model-->
       @Html.DropDownListFor(o => o.PVReportPostData.ExecutedBy, 
                Model.ExecutedByUsers, "All", new { Class = "form-control" })
  </div>

1 Ответ

0 голосов
/ 09 апреля 2019

Раскрывающийся список пуст, поскольку функция контроллера не запускается до тех пор, пока не будет нажата кнопка, и, следовательно, данные из запроса linq не загружаются до тех пор, пока запрос не будет выполнен.

Чтобы это исправить,Я просто переместил это за пределы функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...