如何在MVC4中传递列表模型以查看

本文关键字:模型 列表 MVC4 | 更新日期: 2023-09-27 17:50:32

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

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

我可以在视图中获得模型。

@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> 
}

然而,在我的一些视图中,我想要几个模型传递给视图。我怎样才能得到它。

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

参考:

  • http://www.codeproject.com/Articles/687061/Using-Multiple-Models-in-a-View-in-ASP-NET-MVC-M

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

  • 在视图(.net MVC)中使用不同模型的属性

我试着用这种方式。之后我创建了一个新的模型类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和我对传递复杂模型到视图感到困惑。

如何在MVC4中传递列表模型以查看

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