如何传递超过1个型号

时间:2013-03-28 12:16:53

标签: asp.net-mvc asp.net-mvc-4

http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/accessing-your-models-data-from-a-controller

我的问题是:如何发送超过1个@model IEnumerable<MvcMovie.Models.Movie>

例如 - 我想从Controler发送到View:db.Movies.ToList()db.Letters.ToList()。如何发送?
以及如何在我的视图中分离:IEnumerable with Movies和IEnumerable with Letters?

2 个答案:

答案 0 :(得分:5)

  

我的问题是:如何发送超过1个@model IEnumerable?

使用视图模型:

public class MyViewModel
{
    public FooBarModel TheFooBar { get; set; }
    public IEnumerable<Movie> Movies { get; set; }
}

然后让控制器将此视图模型返回到视图:

public ActionResult SomeAction()
{
    var model = new MyViewModel();
    model.Movies = ...
    model.TheFooBar = ...
    return View(model);
}

最后您的视图将强烈输入视图模型:

@model MyViewModel

您将能够访问其属性。

答案 1 :(得分:0)

最简单的解决方案是创建一个包含MoviesLetters列表的Wrapper类。