Частичная загрузка страницы AJAX?

У меня есть страница результатов страницы (вы попадаете туда после отправки поискового запроса в другом месте) с целым набором представлений сетки для различных типов объектов данных.

Очевидно, что некоторые запросы занимают больше времени, чем другие. Как я могу сделать рендеринг каждого gridview, если у него есть необходимые данные?

Для меня это было сложно, потому что это должно работать как с обратной передачей, так и с загрузкой страницы. Кроме того, источники данных объекта просто автоматически срабатывают при загрузке / обратной передаче страницы; Я не вызываю программно какие-либо методы для получения данных. Придется ли мне это изменить?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
3 041
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Не могли бы вы поместить DataGrids внутри панелей, для которых установлено значение видимости false, а затем вызвать функцию javascript на стороне клиента из события onload тела, которое вызывает функцию на стороне сервера, которая устанавливает для видимости панелей значение true?

Если вы объединили это с элементом управления asp: updateProgress и обернули все это в UpdatePanel, вы должны получить что-то близкое к тому, что ищете - особенно если вы настроили функцию js, вызываемую в onload, чтобы показать только одну панель и вызвать функция возврата, показывающая следующее и т. д.

Ответ принят как подходящий

@ Гарет Дженкинс

Страница выполнит все запросы, прежде чем вернет даже первую панель обновления, поэтому он не будет экономить там время.

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

Напишите свой код связывания так, чтобы он связывал только в этой ситуации:

if (this.isPostBack && ScriptManager.IsInAsyncPostback)

Затем на странице программно обновите панель обновлений с помощью javascript после загрузки страницы, и вы получите каждый отдельный рендеринг gridview, как только он будет готов.

Другие вопросы по теме