仅通过列表(空列表)从 strongly-typed-list 单元格中获取单元格显示名称

Get cell DisplayName from strongly-typed-list cell by List only (empty list)

我有一个 "Book" 的列表(例如)作为模型

@model List<Book>

我想创建一个 table,每列都按 Bo​​ok 的 DisplayName 属性:

获取 header
<tr>
        <th class="text-right">
            @Html.DisplayNameFor(modelItem => Model.someMetaData.lineNumber)
        </th>
        <th class="text-right">
            @Html.DisplayNameFor(modelItem => Model.someMetaData.FirstName)
        </th>
<tr>

当您的模型类型为 IEnumerable<T>

时,您可以使用 DisplayNameFor 辅助方法
@model IEnumerable<Book>
<table class="table table-responsive table-striped">
    <tr>
        <th>@Html.DisplayNameFor(a=>a.Id)</th>
        <th>@Html.DisplayNameFor(a => a.Name)</th>
    </tr>

@foreach (var b in Model)
{
    <tr>
        <td>@b.Id</td>
        <td>@b.Name</td>
    </tr>
}
</table>

这仅在您的视图强类型化为 IEnumerable<Book> 时有效,它不适用于 List<Book>