首页 文章

通过连接表在MVC .NET中显示行

提问于
浏览
0

我是MVC .ASP NET和LINQ的新手 .

这是我的问题 .

我有一个包含员工的表(ID,名称)

1  Foo

和一个包含它们容量的表(ID,EmployeeID,Hours,Date)

ID - EmployeeID - Hours - Date
1     1           100     January
2     1           50      February

编写一个linq查询来加入所有这些结果

[EmployeeID,Name,Hours,Date]记录

但我要展示的是什么

Name - January -Feb - Mar ...
Foo     100
                 50
Foo2 ...

我怎样才能做到这一点?我是否需要使用更复杂的查询以这种方式获得结果?或者在控制器或视图中格式化它们?

1 回答

  • 0

    创建一个Helper方法,通过给定的字符串/日期获取月份的数量,然后您可以像这样在View中循环:

    @foreach(var item in Model)
    {
        <tr>
            <td>@Html.DisplayFor(m => item.Name)</td>
            @for(var i = 0; i < numberOfWorkDays; i++)
            {
                <td>
                    @if(YourHelper.GetNumberOfMonth(item.Date) == i)
                    {
                        Html.DisplayFor(m => item.Hours)
                    }
                <td>
            }
        </tr>
    }
    

相关问题