C# 以树状结构显示项目列表
我有一个表的层次结构[所有表只有两个字段Id、名称],它们彼此相关,结构类似C# 以树状结构显示项目列表,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,我有一个表的层次结构[所有表只有两个字段Id、名称],它们彼此相关,结构类似 Level1 -> Level2 [ Foreign key of Level1 Id] -> Level3 [ Foreign key of Level2 Id] -> Statement [ Foreign key of Level3 Id] 最后是一个包含字段UserId、StatementId[Statem
Level1 ->
Level2 [ Foreign key of Level1 Id]
->
Level3 [ Foreign key of Level2 Id]
->
Statement [ Foreign key of Level3 Id]
最后是一个包含字段UserId、StatementId[StatementId的外键]的表mapItems。它存储适用于用户的所有语句
在UI中显示项目时,我必须遵循树状结构
在我的控制器中,我将列表作为模型
我可以这样一个接一个地读
model.FirstOrDefault().statement.level3.level2.level1
这样做有多容易?我建议您的模型/视图模型需要更改,以表示层次结构(具有
int-ID
、字符串名称
和列表子项
)以便可以渲染树。例如,使用扩展方法,例如,但在我的例子中,每个级别都有一个对级别顶部的引用。那么我该如何展示这些呢?我不确定我是否理解你的意思(你的问题并没有说明这一点)。您已经展示了Level1
项具有子对象的集合(Level2
)。每个Level2
对象都有一个子对象的集合(Level3
),每个Level3
对象都有一个子对象的集合(Statement
)-很像windows文件夹结构。虽然不清楚为什么您有第二个“映射”表,而不是标准的ID
,ParentID
,Name
表结构,但很抱歉,这会造成混淆。我只使用相同的ID ParentID Name structure