我有一个下拉框,只显示列表中的活动项目。但是用户可能已经选择了一个项目并保存,之后该项目可能处于非活动状态。当用户编辑他们的选择时。他们之前选择的非活动项目应该是编辑页面列表中的默认项目以及其他活动项目。我不知道如何检查。这是我的代码填充我的列表。
var meetingTypes = _meetingTypeRepository.FindAll().OrderBy(m => m.Description);
viewModel.MeetingTypes = meetingTypes.Where(a=> a.IsActive ?? false)
.ToSelectList("MeetingTypeId",
"Description",
viewModel.MeetingTypeId.ToString());
答案 0 :(得分:1)
我能够弄明白,以防其他人碰巧遇到同样的情况。因为我使用的是一个viewModel,它具有我需要比较的所有项ID,我在Where子句中使用了这个,这就是我的where子句改为:
.Where(a=>a.IsActive == true || a.MeetingTypeId == viewModel.MeetingTypeId)
这允许我在下拉列表中显示用户先前选择的项目,即使该项目当前处于非活动状态。