2009-04-14 4 views
1

Правильно, поэтому мне нужно создать веб-приложение в winforms asp.net 2.0. Id намного больше предпочитает 3,5 MVC. потому что его более чистый, более компактный, более современный и имеет больше смысла для меня. Я хорошо знаю 3.5 MVC и пришел из фона Rails, поэтому этот материал webforms выглядит для меня грубым: P..net 2.0 ajax tree

В любом случае, мне нужен элемент управления AJAX с поддержкой дерева, который загружает поддеревья через ajax при расширении узлов.

В Asp MVC я бы сделал что-то вроде частичного представления одного узла и jQuery AJAX, вызванного действием контроллера, которое отображает коллекцию этих частичных (дочерних) дочерних элементов, которые вставляются в внутренний HTTML дочернего div.

AFAIC в .net 2.0 мои варианты:

  1. Сделать управление WebForms, который представляет собой единый узел. Используйте Asp AJAX для вызова метода codebehind, который recursivley добавляет элементы управления, представляющие дочерние элементы этого узла. Плюсы: хорошо вписывается в рамки asp 2.0. Довольно легко. Против: webforms являются брутто (: p), и делает обновление этого сайта до 3.5 позже намного сложнее.

  2. Сделайте метод webservices, который возвращает дочерние элементы в виде списка JSON, которые затем отформатированы в HTML на клиентском javascript, используя jQuery для запроса и форматирования. Плюсы: Скоростные из-за низких накладных расходов с json. Более надежное будущее, так как json-webservices легко переходит к методам контроллера MVC. Против: Больше работы для разработки. HTML заканчивается смешением с клиентским javascript (потому что нет JSON/javascript templating availible), что является отвратительным (IMHO).

  3. использование стороннего веб-управления. Достоинства: меньше произведение (в лучшем случае). Минусы: необходимо оценить, какой из них использовать. возможно, придется приобретать. Изучение/управление контрольным api и т. Д.

  4. Как-то иначе?

Так что вы, ребята, думаете, что это лучший способ пойти?

ответ

0

Я использую представление дерева ComponentArt. Было легко подобрать. В настоящее время поддерживается поддержка веб-сервисов в элементе управления; однако он позволяет вам запрашивать URL-адрес, и он ожидает простой XML-документ, который он переводит на объекты своей клиентской стороны. Очень легко и быстро получить очень хороший функциональный контроль и запустить очень быстро.

Для серверной части я создал страницу ASHX, которая помогает свести на сторону сервера сверху вниз.

+0

Я никогда не был бы в состоянии получить $ 1000 USD (~ $ 1600 AUD) на получение лицензии для тех инструментов, утвержденных, однако хорошо они! : p – dalyons

+0

, что отстой ... У меня любовь к ненависти с их инструментами, но в конце концов они спасают меня от кучи времени. – JoshBerke

+0

Дайте им оценку того, сколько времени потребуется, чтобы написать собственный инструмент .... вы никогда не знаете, делаете ли вы 50 баксов в час, это всего лишь 20 часов работы, которые нужно сохранить. – JoshBerke