Критика этой стратегии - PullRequest
       4

Критика этой стратегии

0 голосов
/ 26 августа 2010

Я хочу заполнить сетку с помощью jQuery и AJAX. С моей вызывающей страницы jQuery будет вызывать обработчик (.ashx), который доставит данные XML или разметку HTML для gridview. На мой взгляд, у меня есть два варианта: 1) доставить XML, который затем привязывается к представлению сетки времени разработки на вызывающей странице, или 2) доставить HTML для просмотра сетки. Мой первый вопрос: какой метод самый простой?

Теперь есть два фактора, которые усложняют вещи. Во-первых, представление сетки должно сортироваться по всем столбцам. Во-вторых, данные будут фильтроваться (некоторые столбцы будут скрыты) с помощью параметров конфигурации пользователя, которые также должны храниться в базе данных. Зная об этом, изменится ли ваш ответ на первый вопрос?

Любые комментарии, идеи или ошибки приветствуются.

Dewey

Ответы [ 2 ]

0 голосов
/ 27 августа 2010

Я сделал нечто очень похожее на это в недавнем проекте.Я использовал jqGrid для отображения - его можно легко привязать к данным в формате JSON (и, возможно, к данным в формате XML), и он поддерживает сортировку по заголовку столбца.Я определенно рекомендую его для функциональности и простоты использования.

Мне не нужно было реализовывать настраиваемое отображение / скрытие столбцов.Однако это можно сделать с помощью jqGrid довольно легко: столбцы сетки настраиваются в javascript, так что вы можете использовать логику code-behind во время начальной сборки страницы для настройки javascript, который определяет конфигурацию столбца.

Iопределенно не вернет HTML из класса ASHX, так как вам придется создавать весь HTML вручную, используя StringBuilder (или что-то подобное).Делает код сложнее поддерживать;и если вы когда-нибудь захотите изменить макет страницы, вам нужно перекомпилировать и заново развернуть вашу систему.Если вы отчаянно хотите вернуть полностью отформатированный HTML, я бы, вероятно, использовал jquery / ajax, чтобы просто вызвать страницу .ASPX.Этот подход неуклюж и сложен, но, по крайней мере, .ASPX ориентирован на создание полного HTML, в отличие от .ASHX.

Возможно, вы захотите возвратить JSON вместо XML.Это обеспечивает меньшие, более быстрые ответы по проводам, и с ним невероятно легко работать в javascript.В этом случае вам следует рассмотреть возможность использования ASMX вместо ASHX для генерации JSON, поскольку он может быть настроен на автоматическую сериализацию возвращаемого объекта как JSON.Это то, что я сделал в своем проекте, и его было очень быстро и легко разработать.

Наконец, я VASTLY предпочитаю jquery и ajax Microsoft ajax и updatePanels. Этот поток переполнения стека подробно описывает причины.

0 голосов
/ 27 августа 2010

Я думаю, что доставить HTML проще. Но я выбираю доставку XML для динамической сортировки и фильтрации данных с помощью функции рендеринга JavaScript, например: функция рендеринга (опции) {

}

Параметр options будет объектом, который хранит параметр orderby и имена скрытых столбцов, такие как: options = {orderby: "name", hidecolumns: ["фамилия", "age"]};

Надеюсь, это поможет.

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