我目前正在学习ASP.NET MVC,因此如果有人提出疑问或看上去很简单,请原谅我的问题,但是如果能得到帮助,我将不胜感激。
我试图将两个不同的存储库返回到视图。我正在阅读ASP.NET MVC的教程,我想我会尝试进一步。我可以很好地显示数据库中“电影”表中的电影,但是我也想同时显示Actors表中的数据,但我不确定该怎么做。为了显示电影,我遵循存储库模式。
我希望这是有道理的。
谢谢,
最佳答案
创建一个同时包含电影和演员列表的新类:
public class MoviesAndActorsModel
{
public IList<Movie> Movies { get; set; }
public IList<Actor> Actors { get; set; }
}
然后,在控制器操作中,实例化一个从您的存储库填充的MoviesAndActorsModel类型的对象:
public ActionResult List()
{
MoviesAndActorsModel model = new MoviesAndActorsModel();
model.Movies = _repository.GetMovies();
model.Actors = _repository.GetActors();
return View(model);
}
现在确保您的视图继承自ViewPage
<MoviesAndActorsModel>
,并且您应该能够像这样访问电影和演员:<% foreach (Movie movie in Model.Movies) { %>
<%= movie.Title %>
<% } %>
<% foreach (Actor actor in Model.Actors) { %>
<%= actor.Name %>
<% } %>