2

这是在我的控制器中,我正在尝试用项目填充下拉列表。我已经根据活动项目进行填充,但我也想添加以前选择的项目,即使它现在不活动。我想检查 Where 子句以获取活动项目,但我还想添加一个“或”来获取先前选择的派对类型的 ID 到列表中的派对类型 ID。

viewModel.AvailablePartyTypes =
            _partyTypeRepository.FindAll().OrderBy(o => o.Description).Where(a => a.IsActive).ToSelectList(
                "PartyTypeId", "Description", viewModel.PartyTypeId.ToString());

这就是我想要得到的:

Where(a=>a.IsActive || selected.PartyTypeId == PartyTypeId)
4

2 回答 2

3

也许我忽略了一些东西,但它不是那么简单:

Where(a=>a.IsActive || selected.PartyTypeId == a.PartyTypeId)

编辑:

如果它变得复杂,则将其重构为方法调用,例如:

Where(a=> UseItem(a))

private static bool UseItem(object a)
    {
        bool result = a.IsActive;
        //etc
        return result;
    }
于 2012-04-24T14:20:25.937 回答
0

不太清楚为什么我的答案被删除了。即使其他人提供了帮助,但我得到答案和形成的方式并不是真正由帮助的人产生的。我已经在我原来的帖子中发布了这个问题。

于 2012-04-26T19:10:35.917 回答