У меня есть некоторый код 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>