我创建一个.NET MVC应用程序和予具有其中我想显示下面的图:

<强>分类

随后的的用于当前等级

的列表

其次[可能]通过的子项当前项

的列表

我可以创建发送3名单独的IEnumerable列表(类别,项目和子项目)的自定义ViewModel类。这种方法的问题是有没有简单的方法来呈现在视图中正确的顺序(层次)的数据。通过这种方法我将有三个列表,然后根据需要在渲染过程中添加条件逻辑。这意味着,我试图插槽中的物品进入页面上的适当位置,每个项目列表会被重复多次。

我宁愿传回数据以正确的顺序,也许为XML文件。什么是这里的正确方法呢?

我还设想在控制器串接数据并传递格式化文本到视图,但是这似乎违背了具有视图手柄呈现的概念。

有帮助吗?

解决方案

我想远离远离XML这里。通过适当的层次;这似乎合理:

public class ViewModel
{
    Category[] Categories { get; set; }
}

public class Category
{
    Item[] Items { get; set; }
}

public class Item
{
    Item[] SubItems { get; set; }
}

那么你可以有嵌套循环foreach您的视图中。

scroll top