2.) Как мне разделить мои элементы управления на типы представлений?
Создать представление с помощью #MainDiv, #TreeDiv и #DatagridDiv.Позвольте #TreeDiv разместить ваше дерево управления (вы уже знаете это).Создайте частичное представление для отображения сетки данных с объектами сотрудников.Позвольте #DatagridDiv разместить это частичное представление.
Теперь, когда в древовидном управлении выбран отдел, вы можете выполнить ajax-вызов метода контроллера, который принимает отдел и возвращает частичное представление, содержащее данные сотрудника.Обновите #DatagridDiv с возвращенными данными.
В качестве альтернативы, если вам не безразличен Json, ваш метод контроллера может возвращать данные о сотрудниках в формате Json (вместо частичного представления), и вы можете заполнить их в html-таблице внутри #datagridDiv, используя javascript / jquery.
1.) Какой тип объекта должен возвращать мой метод Index для отображения этих агрегированных данных в представлении?
В методе Index выможет вернуть ваше представление, которое содержит все 3 Div и #TreeDiv, заполненные деревом управления.На стороне клиента при загрузке страницы вы можете идентифицировать выбранный отдел, чтобы выполнить вызов ajax, и обновить #datagridDiv.Этот подход будет иметь задержку на стороне клиента, однако вы можете использовать ее для отображения анимации, указывающей, что страница загружается / div обновляется.
Если вы не хотите добавлять этот период задержки, укажите отдел, которыйбудет выбран при загрузке дерева и заполнит частичное представление для этого отдела, добавьте его в ваш #datagridDiv на стороне сервера и доставьте.