asp.net MVC - 列表返回 仅最后一项 mvc 4.



下面是我的操作 Method.It 返回列表的最后一项。 但我想要 AList 中的项目列表。

public ActionResult Ataxi(){
        List<sub_employee> AList = new List<sub_employee>();
        var alist = IM.getAvailableList().ToList();
        foreach(var item in alist)
        {
             AList = db.sub_employee.Where(s => s.SE_ID == item).ToList();
        }
        return View(AList);
    }

如何获取 Alist 中的所有元素。有人可以帮助我解决这个问题吗?谢谢

我想你想要这样的东西:

public ActionResult Ataxi(){
    var list1 = IM.getAvailableList().ToList();
    var list2 = db.sub_employee
        .Where(x => list1.Contains(x.Id))
        .ToList();
    return View(list2);
}

在您的示例中,您不断覆盖列表的值。 您还可以根据db.sub_employee检查原始列表中的每个项目的Where,这很难阅读且效率不高。 实际上,您只需要使用一次Where来过滤其键尚未在列表中的值。请注意,在 Where 中使用 Contains 效率非常低,但它编写简单,不需要创建新的 LINQ 运算符。

此外,在样式说明上,我会避免以大写字母 (Alist) 开头的局部变量名称,尤其是避免仅因大写而异的局部变量(Alist vs alist )。 相反,以大写字母 (sub_employee ) 开头命名类型和属性是标准的。

相关内容

  • 没有找到相关文章