我在一個很大的麻煩。我讀了4個stackoverflow問題和一個blogpost。我嘗試了5種不同的方法來查看多個選擇列表中的選定項目。ASP.NET MVC列表框不顯示選擇的列表項目
我沒有成功。
將生成多個選擇列表,但不會選擇這些項目。我沒有更多的想法。
型號:
public class EditableModel
{
public IList<Company> SelectedCompanies { get; set; }
public IList<SelectListItem> SelectListCompanies { get; set; }
}
控制器:
public ActionResult Edit(int id)
{
var service = _serviceDAL.GetEditableModel(id);
if (service!= null)
{
service.SelectListCompanies = GetSelectListCompanies(service.SelectedCompanies);
return View(service);
}
}
private IList<SelectListItem> GetSelectListCompanies(IList<Company> selectedCompanies)
{
List<SelectListItem> items = new List<SelectListItem>();
foreach (Companycompany in _companyService.GetCompanies())
{
items.Add(new SelectListItem
{
Value = company.CompanyId.ToString(),
Text = company.Name,
Selected = selectedCompanies.Any(x => x.CompanyId == company.CompanyId)
});
}
return items;
}
查看
@Html.ListBox("SelectedCompanies", Model.SelectListCompanies, Model.SelectedCompanies.Select(x => x.CompanyId.ToString()))
並沒有什麼。在選擇列表中的項目未選中...
我試過這Multiselect,結果相同,或this one作爲當前的解決方案。
你覈實了selectedCompanies中的什麼?正因爲如此,對我而言,選擇公司是空洞的。 – MaCron
@Dabagab你嘗試使用ListBox與「Model.SelectListCompanies作爲MultiSelectList」我的意思是@ Html.ListBox(「SelectedCompanies」,Model.SelectListCompanies作爲MultiSelectList,Model.SelectedCompanies.Select(x => x.CompanyId.ToString() )) – hasan
@MaCron這不是empyt。它有11個項目。我打了它:) – Dabagab