Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在不同列表中的多个表上显示列标题_C#_Asp.net Mvc_Razor - Fatal编程技术网

C# 在不同列表中的多个表上显示列标题

C# 在不同列表中的多个表上显示列标题,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我在ASP.NET MVC中有一个视图,可以访问带有两个单独列表的viewmodel。我遇到的问题是访问列表中的列标题以在每个数据集上方显示它们。foreach语句准确地显示数据,但目前我还在列标题上使用foreach语句(的显示名称)。我需要修改此语句以访问列表(NotesList),并仅在td语句中显示的数据集上方显示它们的一次迭代。我感谢你的反馈。视图如下 @model Risk.ViewModel.ListCatViewModel .... <table class="table"

我在ASP.NET MVC中有一个视图,可以访问带有两个单独列表的viewmodel。我遇到的问题是访问列表中的列标题以在每个数据集上方显示它们。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>
@model Risk.ViewModel.ListCatViewModel
....
@foreach(Model.NotesList中的var项)
{
@DisplayNameFor(modelItem=>item.Category)
@DisplayNameFor(modelItem=>item.CountOflons)
....
}
@foreach(Model.NotesList中的var项)
{
@DisplayFor(modelItem=>item.Category)
@DisplayFor(modelItem=>item.CountOfLoans)
....
}

您可以使用

<th>@Html.DisplayNameFor(m => m.NotesList.FirstOrDefault().Category)</th>
<th>@Html.DisplayNameFor(m => m.NotesList.FirstOrDefault().CountOfLoans)</th>
....
@Html.DisplayNameFor(m=>m.NotesList.FirstOrDefault().Category)
@DisplayNameFor(m=>m.NotesList.FirstOrDefault().CountOfLoans)
....
注意,这甚至适用于
FirstOrDefault()
返回
null
(也就是说,因为集合是空的),因为
HtmlHelper
使用来自对象的值
ModelMetadata


旁注:建议您将标题元素包装在

中。我通过在每个html标记中手动键入列标题来实现这一点。但是,我正在寻找一个自动化的解决方案,就像我更改了与sql server关联的类,该类将更改列,然后我必须更改视图中的每个列标题,而不是使用自动化的解决方案。