我创建了一个“ViewModel”,因为我希望有更多的东西可以迭代并显示在我的视图中。为了在此示例中保持简单,我的 ViewModel 仅在我根本没有使用它的情况下做任何事情。此外,我正在使用 Enitity Framework,因此如果这很重要,ActionRequest 最终是 SQL Server 中的一个表。
这是我的视图模型:
public class ActionRequestVM
{
public IEnumerable<ActionRequest> ARVM { get; set; }
}
在我看来,在我拥有之前:
@model IEnumerable<PocoExp5.Models.ActionRequest>
现在有了我的 ViewModel 我有:
@model PocoExp5.ViewModels.ActionRequestVM
我可以很好地遍历我的数据,并且全部显示使用:
@foreach (var item in Model.ARVM) { ...
但是,列标题,例如:
@Html.DisplayNameFor(model => model.RequestID)
不再工作。我以为我可以做类似的事情:
@Html.DisplayNameFor(model => model.ARVM.RequestID)
但这不起作用。所以这里有一些我根本不明白的东西?