我正在创建一个 .NET MVC 应用程序,并且我有一个要在其中显示以下内容的视图:
类别
后跟当前类别的项目列表
[可能] 后跟当前项目的子项目列表
我可以创建一个自定义 ViewModel 类,它发送 3 个单独的 IEnumerable 列表(类别、项目和子项目)。这种方法的问题是没有简单的方法可以在视图中以正确的顺序(层次结构)呈现数据。使用这种方法,我将拥有三个列表,然后需要在渲染期间添加条件逻辑。这意味着当我尝试将项目插入页面上的适当位置时,每个项目列表将被迭代多次。
我宁愿以正确的顺序传回数据,也许是一个 XML 文件。这里的正确方法是什么?
我还考虑过连接控制器中的数据并将格式化的文本传递给视图,但这似乎违反了让视图处理渲染的概念。