将筛选的列表传递给MVC视图

时间:2014-01-21 13:22:59

标签: c# asp.net-mvc-4

我是mvc的新手,我正在努力学习它

我有一个包含用户动物的应用程序。 MVC auto内置的脚手架为我创建了这个代码,因此它会在我的BD中显示一个动物列表

return View(db.Animals.);

如何编辑此代码?或者什么代码会产生相同的结果,但只有动物的物种是“牛”。我试过了:

Animal Animal1 = (from animals in db.Animals
                  where animals.Species == "Cow"
                  select animals).FirstOrDefault();

return View(Animal1);

但我收到错误消息“视图需要IEnumerable<>”。任何帮助将不胜感激。感谢。

1 个答案:

答案 0 :(得分:1)

FirstOrDefault为您提供集合中的第一个实体。如果您想要Species == "Cow"的所有参与者,只需致电ToList并将其传递给视图:

List<Animal> cows = (from animals in db.Animals
                      where animals.Species == "Cow"
                      select animals).ToList();

return View(cows);

否则,如果您只想显示一个实体,则需要创建另一个使用Animal类输入的视图(与您最有可能拥有的IEnumerable<Animal>不同)。