0

我可以从我的控制器返回列表到我的视图,还是我需要将我的列表包装在另一个类中,只是为了只返回一个类?

如果这是可能的,我该如何遍历列表?我正在尝试这个(Razor),但 Visual Studio 对此并不满意:

@model List<QueueItem>
.
.
.
@foreach (item in @Model)
4

1 回答 1

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)
{
}

我希望这有帮助。

于 2012-04-07T06:13:27.840 回答