Разделите пользовательский интерфейс на представления asp.net mvc - PullRequest
0 голосов
/ 01 февраля 2012

У меня есть CSS #MainDiv, содержащий #TreeDiv с левой стороны и #DataGridDiv с правой стороны.

TreeDiv содержит Javascript Treeview с объектами Department и DataGridDiv. содержит Datagrid с объектами Employee.

Изменение выбора отдела в древовидном представлении должно также изменить связанные объекты сотрудников в DataGrid.

Я установил DepartmentController. Оба элемента управления должны иметь возможность получать данные через ajax независимо друг от друга.

1.) Какой тип объекта должен возвращать мой метод Index для отображения этих агрегированных данных в представлении?

2.) Как мне разделить мои элементы управления на какие виды?

1 Ответ

0 голосов
/ 01 февраля 2012

2.) Как мне разделить мои элементы управления на типы представлений?

Создать представление с помощью #MainDiv, #TreeDiv и #DatagridDiv.Позвольте #TreeDiv разместить ваше дерево управления (вы уже знаете это).Создайте частичное представление для отображения сетки данных с объектами сотрудников.Позвольте #DatagridDiv разместить это частичное представление.

Теперь, когда в древовидном управлении выбран отдел, вы можете выполнить ajax-вызов метода контроллера, который принимает отдел и возвращает частичное представление, содержащее данные сотрудника.Обновите #DatagridDiv с возвращенными данными.

В качестве альтернативы, если вам не безразличен Json, ваш метод контроллера может возвращать данные о сотрудниках в формате Json (вместо частичного представления), и вы можете заполнить их в html-таблице внутри #datagridDiv, используя javascript / jquery.

1.) Какой тип объекта должен возвращать мой метод Index для отображения этих агрегированных данных в представлении?

В методе Index выможет вернуть ваше представление, которое содержит все 3 Div и #TreeDiv, заполненные деревом управления.На стороне клиента при загрузке страницы вы можете идентифицировать выбранный отдел, чтобы выполнить вызов ajax, и обновить #datagridDiv.Этот подход будет иметь задержку на стороне клиента, однако вы можете использовать ее для отображения анимации, указывающей, что страница загружается / div обновляется.

Если вы не хотите добавлять этот период задержки, укажите отдел, которыйбудет выбран при загрузке дерева и заполнит частичное представление для этого отдела, добавьте его в ваш #datagridDiv на стороне сервера и доставьте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...