ASP.Net MVC - Создание загрузки по требованию TreeView - PullRequest
1 голос
/ 14 января 2010

Мне интересно, как построить представление дерева нагрузки по требованию с помощью ASP.Net MVC. Я понимаю, что входит в создание JQuery TreeView с использованием списков, но часть загрузки по требованию меня действительно смущает. Мне не нужно полное решение, но может ли кто-нибудь указать мне правильное направление, с которого я должен начать?

Я делал это много раз, используя WinForms, которая сохраняет состояние просмотра. Одна из проблем, с которыми я сталкиваюсь, - это запоминание всех расширенных узлов, а не только недавно развернутого.

Если бы у кого-нибудь был совет, я был бы признателен. Спасибо!

1 Ответ

1 голос
/ 14 января 2010

Вам нужно будет найти плагин jquery в виде дерева, который будет работать для вас, а затем привязать его к контроллеру в MVC, который может вести себя так, как вы ищете.

Убедитесь, что ваш html отображает местозаполнитель для дочерних элементов (или что плагин jQuery знает, как добавить дочерние элементы самостоятельно).

Вам придется либо предоставить древовидной структуре URL-адрес с определенным набором параметров, либо отвечать на обработчики событий и делать вызовы для получения дочерних элементов.

Когда вы ищете плагин в виде дерева, ваша жизнь будет проще, если вы найдете тот, который поддерживает асинхронную загрузку дочерних узлов.

Если вам пришлось бросить свой собственный, у вас может быть div с идентификатором ChildNode-1, и вызов в MVC может выглядеть примерно так:

$("#ChildNode-1").load("/[your_controller]/GetNode", {nodeId:1});

На вашем контроллере у вас будет метод GetNode, который возвращает PartialViewResult. Он будет принимать параметр типа int с именем nodeId. Пометьте его атрибутом [HttpPost]. JQuery Wizardry обрабатывает последующие действия, а магия и рефлексия MVC позаботятся обо всем остальном. Ваш PartialViewResult также должен будет возвращать больше узлов, отформатированных для выполнения большего количества представлений в соответствии с вышеприведенным.

Cheers, -jc

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