Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将列表模型传递给MVC4中的视图?_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

C# 如何将列表模型传递给MVC4中的视图?

C# 如何将列表模型传递给MVC4中的视图?,c#,asp.net,asp.net-mvc,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,在我的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.T

在我的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> 
}
在控制器类中

_repository.cat1 = this._postService.GetPostByParams(...);
_repository.cat2 = this._postService.GetPostByParams(...);
return View(_repository)
我无法从这个模型中获得正确的数据


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

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

非常感谢。但我已经解决了这个问题,只需添加
@model ShowPin.Web.Models.Repository
来查看……您可能已经解决了这个问题,但从长远来看,如果不遵循上述方法,您将遇到问题。创建视图模型使生活变得非常简单。实际上,我已经将存储库模型添加到视图中。但我不知道“映射到视图”是什么意思。“映射到视图”意味着对于视图中的每个字段,可以在ViewModel中创建单独的属性。因此,如果您有一个带有DropDownList和Textbox的视图,那么您将有两个返回类型为List和String的属性。如果你需要进一步的帮助,请告诉我
_repository.cat1 = this._postService.GetPostByParams(...);
_repository.cat2 = this._postService.GetPostByParams(...);
return View(_repository)