当我尝试将我的存储库加载到我的视图中时
@model BlueRateITRepositories.Repository.FilmRepository;
@{
ViewBag.Title = "Films";
}
<h2>Films</h2>
模型给出错误“'FilmRepository'是在给定上下文中无效的类型”
控制器代码
FilmRepository FilmRepository = new FilmRepository();
// GET: Film
public ActionResult Films()
{
return View(FilmRepository);
}
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
你正在犯这个错误。您不应将存储库类传递给视图。视图应该接受他们需要的信息并显示它。
更改您的控制器:
FilmRepository filmRepository = new FilmRepository();
public ActionResult Films()
{
List<Film> films = filmRepository.GetFilms();
return View(films);
}
然后你的视图应该显示电影:
@model IEnumerable<BlueRateITRepositories.Models.Film>
@{
ViewBag.Title = "Films";
}
<h2>Films</h2>
@foreach(var film in Model)
{
<p>@film.Name</p>
}
相应地调整项目的类和方法名称。
答案 1 :(得分:0)
删除模型声明末尾的分号。并且,正如@shyju建议的那样,尝试将对象名称保留在与类名称不同的大小写中。
模型声明应为 -
<namespace>.ClassName
让我知道它是否有效。