我在ASP.NET MVC中有一个视图,它使用2个单独的列表访问视图模型。我遇到的问题是从列表中访问列标题以在每个数据集上方显示它们。 foreach语句准确显示数据,但目前我也在列标题上使用foreach语句(显示名称)。我需要修改此语句以访问列表(NotesList)并仅在td语句中显示的数据集上方显示它们的一次迭代。感谢您的反馈。视图如下。
@model Risk.ViewModel.ListCatViewModel
....
<table class="table">
@foreach (var item in Model.NotesList)
{
<tr>
<th>@Html.DisplayNameFor(modelItem => item.Category)</th>
<th>@Html.DisplayNameFor(modelItem => item.CountOfLoans)</th>
....
</tr>
}
@foreach (var item in Model.NotesList)
{
<tr>
<td>@Html.DisplayFor(modelItem => item.Category)</td>
<td>@Html.DisplayFor(modelItem => item.CountOfLoans)</td>
....
</tr>
}
</table>
答案 0 :(得分:1)
您可以使用
创建<th>
元素
<th>@Html.DisplayNameFor(m => m.NotesList.FirstOrDefault().Category)</th>
<th>@Html.DisplayNameFor(m => m.NotesList.FirstOrDefault().CountOfLoans)</th>
....
请注意,即使FirstOrDefault()
返回null
也是如此(因为该集合为空),因为HtmlHelper
使用对象ModelMetadata
附注:建议您将标题元素包含在<thead>