如何在 MVC5 视图中显示嵌套数据?

How to display nested data in MVC5 view?

我有一份公司清单,这些公司有一个项目清单。我想像这样显示所有公司和所有项目:

Company1
    Project1
    Project2
Company2
    Project3
    Project4

如何使用 asp.net MVC5 轻松完成此操作?

编辑: 我需要一个具体的视图示例,以便了解如何创建控制器和模型。这是我的控制器和模型。

Public Class CompanyModel
    Private _title As String
    Private _projects As New List(Of Project)

    Public Property title As String
        Get
            Return _title
        End Get
        Set(value As String)
            _title = value
        End Set
    End Property

    Public Property projects As List(Of Project)
        Get
            Return _projects
        End Get
        Set(value As List(Of Project))
            _projects = value
        End Set
    End Property

End Class

和控制器功能:

Function Index() As ActionResult
    Dim Companies As New List(Of CompanyModel)

    Using db As New ProjectDBDataContext(ConnectionStrings("redacted").ConnectionString)
        Dim companyList = (From c In db.Companies Select c)
        For Each c In companyList
            Dim projects = (From p In db.Projects Where p.companyID = c.id Select p).ToList
            Companies.Add(New CompanyModel With {.title = c.title, .projects = projects})
        Next
    End Using
    Return View(Companies)
End Function

然后我就使用了 Chris 的示例代码作为视图。

您应该能够在视图中使用 Razor 使用嵌套的 For Each 来完成此操作。

编辑:可能的解决方案:

查看:

@foreach (var company in Model) {
    @company.Name
    @Html.Partial("_Projects", company.Projects)
}

_项目部分视图:

@foreach (var project in Model) {
    @project.Name
}