#asp.net-mvc
#asp.net-mvc
Вопрос:
У меня возникли некоторые проблемы с определением, какие параметры передать в моем .ToSelectList()
, чтобы я мог отобразить свои результаты в выпадающем списке. У меня есть два IQueryable
элемента, и я хочу отобразить результаты вместе в одном выпадающем списке. Мне не нужно сравнивать и сопоставлять, это просто grap и display. Пример того, как выглядят результаты, выглядит следующим образом:
Teacher
Doctor
Nurse
Engineer
Jack Smith
Tim Jones
Jill Jack
Вот как пока выглядит мой код:
IQueryable<Report_JobResults> jobs=
_jobsReportRepository.summaryGetJob().OrderBy(o=>o.JobName);
IQueryable<Report_nameResult> users =
_nameReportRepository.summaryGetName().OrderBy(n => n.FirstName).ThenBy(
n => n.LastName);
//Here is where i display results into a dropdown box.
view.Results=jobs.Select(o => o.jobId).ToList().Union(users.Select(u => u.userId).ToList()).ToSelectList();
Я не уверен, какие параметры будут в .ToSelectList()
Мы будем очень признательны за помощь. 🙂
Спасибо
Ответ №1:
Вы можете попробовать
var results = jobs.Select(o => o.jobId).Union(users.Select(u => u.userId))
.Select( i => new SelectListItem
{
Text = i,
Value = i
};
и используйте results
для в Html.DropDownListFor()
.
Комментарии:
1. Спасибо, я продолжу и попробую это, но просто интересно, что такое «i» и что он делает?
2.
i
представляет каждый элемент вIQueryable
илиIEnumerable
3. Я пробовал это, но я просто получаю номера элементов в выпадающем списке, а не фактическое значение.
4. Затем при выборе попробуйте использовать атрибут name вместо jobid и userid.
5. Также еще один вопрос — если бы я хотел проверить, что выбрал пользователь, было ли это jobName или UserName, что я мог бы использовать, чтобы указать, какой тип был выбран, чтобы возвращать разные данные в соответствии с выбором.