我目前正在学习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 %>
<% } %>

08-25 16:11