为什么我不能将ObjectSet绑定到ASP.NET MVC列表视图?

时间:2012-08-02 11:27:35

标签: asp.net-mvc model-view-controller

我正在开发与mvc应用相关的电影。 我正在尝试搜索电影的名称。

它给出了一个错误:

  

传递到字典中的模型项是类型的   'System.Data.Objects.ObjectSet 1[MvcMovie.Movie]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable 1 [MvcMovie.Models.Movie]'。

下面是Movie控制器的searchIndex方法代码。

   public ActionResult SearchIndex(string searchString)
    {
        var movies = from m in db.Movies select m;

        if (!string.IsNullOrEmpty(searchString))
        {
            movies = movies.Where(s => s.Title.Contains(searchString));

        }

        return View(db.Movies);
  }

以及View页面的代码

@model IEnumerable<MvcMovie.Models.Movie>

@{
ViewBag.Title = "SearchIndex";

}

2 个答案:

答案 0 :(得分:0)

您需要将结果转换为可枚举的类型..例如List:

return View(db.Movies.ToList());

答案 1 :(得分:0)

该错误表明您的Movie实体的名称空间为MvcMovie而不是MvcMovie.Models

System.Data.Objects.ObjectSet1[**MvcMovie.Movie**]

更改此

@model IEnumerable<MvcMovie.Models.Movie>

到这个

@model IEnumerable<MvcMovie.Movie>