因此,我有一个小型的Search应用程序,它具有文本框,下拉列表,日历等多个选项,可用于搜索不同的列,而不是其他。因此,客户端需要能够在下拉列表之一中选择倍数选项。我设法使用以下方法选择倍数:
在“我的视图”中/ 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子句中,我需要执行While While值。感谢您的帮助。