仅按列表从强类型列表单元格中获取单元格DisplayName(空列表)

时间:2017-10-26 12:52:02

标签: c# asp.net-mvc asp.net-mvc-views

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

@model List<Book>

我想创建一个表,每个列都通过Book的DisplayName属性获取它的标题:

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

1 个答案:

答案 0 :(得分:2)

当您的模型属于DisplayNameFor

时,您可以使用IEnumerable<T>辅助方法
@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>