MVC DropDownList для LINQ заполнения IEnumerable - PullRequest
0 голосов
/ 16 января 2019

Итак, у меня есть небольшое приложение 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 мне нужно сделать, хотя там все еще значение. Я буду признателен за помощь, спасибо.

...