Итак, у меня есть небольшое приложение Search, в котором есть несколько вариантов текстового поля, выпадающего списка, календарей и т. Д. Для поиска различных столбцов, а что нет. Таким образом, клиент должен иметь возможность выбрать несколько вариантов в одном из выпадающего списка. Мне удается выбрать кратные с помощью:
In My Views / Index.cshtml
<dt>@Html.DisplayNameFor(m => m.TypeOfJob):</dt>
<dt>@Html.DropDownListFor(m => m.TypeOfJob, Model.TypeOfJobList, new { @class = "form-control", @multiple = "multiple" })</dt>
Тогда в Моих Моделях / SearchDocument.cs у меня есть следующее:
[Display(Name = "Type of Job")]
public string TypeOfJob { get; set; }
public IEnumerable<DropDownListItem<string>> TypeOfJobList
{
get
{
using (var db = new SearchDocument())
{
return db.Document.Where(f => f.XTOJ != "").Select(f => f.XTOJ).Distinct()
.Select(s => new DropDownListItem<string> { ID = s, Label = s, Title = s }).ToArray();
}
}
}
В дальнейшем для возвращаемых результатов у меня есть пара предложений Where, которая предназначена для DropDownList как:
using (var db = new SearchDocument())
{
var SearchDocument = db.Document.AsQueryable(); //FOR DOCUMENTS
if (!string.IsNullOrEmpty(TypeOfJob))
{
SearchDocument = SearchDocument.Where(f => f.XTOJ == TypeOfJob);
}
Documents = SearchDocument.Select(f => new DocumentSearch()
{
ID = f.ID,
Jobs = f.XTOJ,
}).ToArray();
}
Весь этот код работает с выбранным отдельным элементом, но при выборе нескольких значений в раскрывающемся списке используется только последний выбранный элемент. Вероятно, предложение where мне нужно сделать, хотя там все еще значение. Я буду признателен за помощь, спасибо.