我有一个嵌套的数据对象的类别内的一组项目。每个类别都可以包含子类别,并且对子类别的深度没有限制。 (文件系统将具有类似的结构。)它看起来是这样的:ASP.NET MVC视图中的递归
class category
{
public int id;
public string name;
public IQueryable<category> categories;
public IQueryable<item> items;
}
class item
{
public int id;
public string name;
}
我传递的类别列表,以我的观点为IQueryable<category>
。我想输出这些类别作为一组嵌套的无序列表(<ul>
)块。我可以嵌套foreach循环,但随后子类别的深度将受到嵌套的foreach块的数量的限制。在WinForms中,我使用递归来完成类似的处理来填充TreeView
,但我还没有看到在ASPX MVC视图中使用递归的任何示例。
递归可以在ASPX视图中完成吗?是否有其他视图引擎包含视图输出的递归?
当我写这个问题,我不认为我的理解IQueryable`和`IEnumerable`之间`的区别。我现在使用`IEnumerable`,因为视图没有做任何查询,只应该枚举数据。 – CoderDennis 2014-07-10 21:13:57