ASP.NET наборы данных и память
-
05-07-2019 - |
Вопрос
Я использую фреймворк 2.0 и не понимаю, как работает сетка данных и наборы данных после выполнения обратной передачи. В msdn говорится, что нет необходимости снова делать привязку данных, если запрос является обратной передачей. Но мой вопрос: как сетка данных снова показывает записи, если нет привязки данных? Я полагаю, что asp.net сохраняет в кеше результаты запроса, но я не уверен. Скажите, пожалуйста, какой механизм использует .NET для этого?
У меня большой результат запроса (сотни), разбитый на каждые 50 записей, и я хочу избегать выполнения одного и того же запроса каждый раз, когда пользователь выбирает следующие 50 записей.
Заранее спасибо.
Решение
ASP.NET сохраняет ваши предыдущие значения во ViewState, чтобы они не терялись между обратными передачами. Р>
Но в вашем случае вы говорите о нумерации страниц, новых записях. Если вы извлекаете их по первому запросу, возможно, вы можете сохранить их в viewstate, но это не очень хорошая идея. Ваша страница будет обслуживаться очень медленно, если у вас много записей.
Если ваши клиенты каждый раз получают одни и те же данные, и текущие изменения данных не важны при отображении данных, возможно, вы можете кэшировать их с помощью механизм кэширования asp.net .
Другие советы
Ответом на это является состояние просмотра. Вся отображаемая сетка хранится в состоянии просмотра, и именно это сохраняется во всех обратных передачах.
То есть сетка определяется при начальной загрузке страницы и сохраняется в состоянии просмотра. Когда пользователь нажимает ссылку / кнопку, чтобы отправить обратно форму, состояние просмотра затем декодируется и снова становится доступным для использования. Поэтому вам не нужно перепривязывать сетку. Однако, есть некоторые предостережения, о которых следует знать. Р>
Viewstate - волшебное слово: P
ASP.NET WebForms - это все о ViewState . р>
Концепция заключается в том, что ASP.NET хранит информацию в скрытом элементе ввода на вашей странице, а затем автоматически извлекает ее на стороне сервера с помощью обратных передач, которые отправляют форму (обернутую вокруг всего вашего сайта) обратно на сервер. р>