ASP.NET MVC - 将两个存储库返回到View

Chr*_*ell 4 asp.net-mvc

我目前正在学习ASP.NET MVC所以请原谅我的问题,如果它被问到或看起来很简单,但如果我能得到一些帮助,我会非常感激.

我试图将两个不同的存储库返回到View.我正在阅读ASP.NET MVC的教程,我想我会尝试更进一步.我可以在数据库中的电影表中显示电影,但我也希望同样显示Actors表中的数据,我不知道如何去做.为了显示我遵循存储库模式的电影.

我希望这是有道理的.

谢谢,

Kev*_*ang 10

创建一个同时包含电影和演员列表的新类:

public class MoviesAndActorsModel
{
    public IList<Movie> Movies { get; set; }
    public IList<Actor> Actors { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后,在您的控制器操作中,实例化从您的存储库填充的MoviesAndActorsModel类型的对象:

public ActionResult List()
{
    MoviesAndActorsModel model = new MoviesAndActorsModel();

    model.Movies = _repository.GetMovies();
    model.Actors = _repository.GetActors();

    return View(model);
}
Run Code Online (Sandbox Code Playgroud)

现在确保您的视图继承自ViewPage <MoviesAndActorsModel>,您应该能够同时访问电影和演员:

<% foreach (Movie movie in Model.Movies) { %>
    <%= movie.Title %>
<% } %>

<% foreach (Actor actor in Model.Actors) { %>
    <%= actor.Name %>
<% } %>
Run Code Online (Sandbox Code Playgroud)