Я создаю приложение .NET MVC, и у меня есть представление, в котором я хочу отобразить следующее:
Категория
, за которым следует список пунктов для текущей категории
[возможно], за которым следует список подпунктов для текущего элемента
Я мог бы создать собственный класс ViewModel, который отправляет 3 отдельных списка IEnumerable (категории, элементы и вложенные элементы). Проблема с этим подходом состоит в том, что нет простого способа отобразить данные в правильном порядке (иерархии) в представлении. При таком подходе у меня было бы три списка, а затем необходимо добавить условную логику во время рендеринга. Это будет означать, что каждый список элементов будет повторяться несколько раз, когда я пытаюсь расположить элементы в нужных местах на странице.
Я бы предпочел передать данные в правильном порядке, возможно, в виде файла XML. Каков здесь правильный подход?
Я также планировал объединить данные в контроллере и передать форматированный текст в представление, но это, кажется, нарушает представление о рендеринге дескриптора представления.