我可以从我的Controller中将List返回到我的View,还是我需要将List包装在另一个类中,只是为了只返回一个类?
如果可以,我该如何遍历列表?我正在尝试这个(Razor),但Visual Studio对它并不满意:
@model List<QueueItem>
.
.
.
@foreach (item in @Model)
答案 0 :(得分:0)
你可以这样做,但我永远不会将我的域对象直接返回到视图。通常我有一个视图模型,只包含我在该视图中需要的字段。
根据您的情况,我会在视图模型中列出此列表:
public class MyViewModel
{
public IEnumerable<QueueItem> QueueItems { get; set; }
}
在您的操作方法中,您将从服务/存储库调用中填充这些项目,然后此视图模型将返回到视图:
public ActionResult List()
{
MyViewModel viewModel = new MyViewModel
{
QueueItems = queueItemRepository.GetAllQueueItems()
};
return View(viewModel);
}
在您的视图中,您将遍历项目并执行需要完成的任务:
@foreach (var item in Model.QueueItems)
{
}
我希望这会有所帮助。