如何将List模型传递给MVC4中的视图?

时间:2014-03-16 07:23:42

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

在我的HomeController中,我创建了一个模型。

var model = this._postService.GetPostByParams(...);
return View(model);

我可以在View中获取模型。

@model ShowPin.Core.Paging.PagedList<ShowPin.Core.Domain.Posts.Post>

@foreach(var item in Model){
    <li>@Html.RouteLink(item.Title, "Post", new { postId = item.Id})</li> 
}

但是,在我的一些观点中,我希望将几个模型传递给View。我怎么能得到它。

我读了很多文章,但总是有错误。

参考:

我尝试使用ViewData,但我无法将模型转换为正确的类型。

我尝试使用这种方式。在我创建新的模型类repository之后。

public class Repository
{
    public Repository()
    {

    }
    public IPagedList<Post> cat1 { get;set; }
    public IPagedList<Post> cat2 { get; set; }
}

在控制器类

_repository.cat1 = this._postService.GetPostByParams(...);
_repository.cat2 = this._postService.GetPostByParams(...);
return View(_repository)

我无法从此模型中获取正确的数据。

我是ASP.NET MVC4的新手,我对将复杂模型传递给视图感到困惑。

1 个答案:

答案 0 :(得分:1)

请创建一个映射到每个视图的ViewModel。在这些ViewModel中,您可以指定多个模型并在视图中相应地使用它们。