Веб-сетка, привязка на стороне клиента VS. Генерация HTML на стороне сервера

Я работаю над заменой существующей веб-сетки в веб-приложении ASP.NET новой реализацией. Существующая сеть мощная, но недостаточно гибкая. Он также приносит с собой все виды фреймворков, которые нам не нравятся на наших веб-страницах.

Изучая существующие варианты, я заметил, что могу разбить доступные решения на два основных подхода. Старый подход лучше всего представлен в ASP.NET GridView. Это классический элемент управления ASP.NET, который генерирует необходимый HTML-код на сервере на основе заданного набора данных. Более новый подход зависит от рендеринга на стороне клиента, в основном с помощью jQuery. Хорошим примером может служить jqGrid. Клиенту отправляются только данные (обычно в формате JSON или XML)

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

  • Есть ли окончательный выбор, который я должен сделать?
  • Есть ли хорошие шансы добиться того же быстрого поведения, которое я получаю с jqGrid (даже со многими записями), с элементами управления, отображаемыми на стороне сервера?
  • Есть ли какая-то гибридная реализация, включающая оба подхода?

person Ron Harlev    schedule 14.07.2009    source источник
comment
Остерегайтесь jqGrid, мы приняли его в проекте, но впоследствии вынуждены были отказаться от него, потому что ему не хватает расширяемости (все, что у вас есть в демо, будет работать, но как только вам нужно будет хоть немного его изменить или добавить что-то еще, вам нужно залезть под капот jqGrid и сильно запачкать руки, вы не можете создать расширение и просто подключить его).   -  person montrealist    schedule 15.07.2009
comment
Странный. У меня вообще не было проблем с настройкой jqGrid.   -  person Craig Stuntz    schedule 15.07.2009
comment
Зависит от уровня настройки, я думаю.   -  person montrealist    schedule 15.07.2009


Ответы (2)


  1. Нет окончательного выбора, который вы должны сделать, но стоит отметить, что переход на элементы управления AJAX на стороне клиента — это довольно большой сдвиг парадигмы, который потребует от вас переосмысления того, как вы делаете почти все с сеткой.

  2. Половина пути (с использованием элемента управления на стороне сервера, такого как GridView в UpdatePanel), скорее всего, улучшит взаимодействие с пользователем, поскольку страница по-прежнему будет видимой и отзывчивой во время ее обновления. Но стиль UpdatePanel по-прежнему неуклюж по сравнению с новыми клиентскими сетками, потому что этот метод отправляет все данные формы страницы при обратной отправке (включая все ViewState в GridView, если ViewState включен). Одно краткое замечание: GridView несовместимо с UpdatePanel, когда GridView.EnableSortingAndPagingCallbacks установлено в true.

  3. Я не использовал ни одну из этих гибридных реализаций (например, оболочки Coolite Ext для .NET), но они существуют. Было по крайней мере одно хорошее обсуждение SO по этой теме и различным сеткам, доступным здесь.

person Jeff Sternal    schedule 14.07.2009

Я также оцениваю jgGrid по сравнению с Gridview. Меня просто интересует производительность и эффективность сети. Несмотря на то, что у jqGrid есть небольшая кривая обучения, я могу потратить некоторое время на обучение, если это может обеспечить значительное улучшение производительности по сравнению с gridview. Может ли кто-нибудь из экспертов пролить больше света на эту тему? Большое Вам спасибо.

person A_Var    schedule 08.05.2010
comment
перешел на jqGrid некоторое время назад, и я очень доволен результатами. Есть кривая обучения. Но ведь он очень мощный и гибкий. Мне кажется, что я снова контролирую поведение и производительность своего приложения. - person Ron Harlev; 10.05.2010