我可以从我的控制器返回列表到我的视图,还是我需要将我的列表包装在另一个类中,只是为了只返回一个类?
如果这是可能的,我该如何遍历列表?我正在尝试这个(Razor),但 Visual Studio 对此并不满意:
@model List<QueueItem>
.
.
.
@foreach (item in @Model)
我可以从我的控制器返回列表到我的视图,还是我需要将我的列表包装在另一个类中,只是为了只返回一个类?
如果这是可能的,我该如何遍历列表?我正在尝试这个(Razor),但 Visual Studio 对此并不满意:
@model List<QueueItem>
.
.
.
@foreach (item in @Model)
你可以这样做,但我从不将我的域对象直接返回到视图。通常我有一个视图模型,它只包含我在该视图上需要的字段。
鉴于您的情况,我将在视图模型中有此列表:
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)
{
}
我希望这有帮助。