Во время разработки мы часто сталкиваемся с главной страницей, которая отображает данные в списках в разбивке по страницам и предоставляет различные условия запроса. Записи результатов запроса можно изменять, удалять и выполнять другие операции. После завершения страницы операции необходимо вернуться к ней. страница запроса. В это время условия запроса и текущая страница часто теряются. Мы можем решить проблему потери условий страницы запроса и информации о страницах, сохранив статус страницы.
Обычно мы переопределяем защищенный объект переопределения LoadPageStateFromPersistenceMedium() в классе Page,
защищенное переопределение void SavePageStateToPersistenceMedium (состояние объекта),
защищенное переопределение void RaisePostBackEvent (IPostBackEventHandler sourceControl, string eventArgument),
защищенное переопределение System.Collections.Specialized.NameValueCollection DefinerPostBackMode(), четыре метода для решения. Однако люди обычно считают, что при восстановлении страницы в переписывании RaisePostBackEvent они не выполняют base.RaisePostBackEvent(sourceControl, eventArgument); чтобы предотвратить повторное выполнение события, но это часто приводит к непредвиденным ситуациям, таким как поскольку результаты модификации не обновляются, записи об удалении не обновляются. Хотя это повышает производительность, обновление данных не может ее решить. Чтобы избежать этой проблемы, есть очень простой способ: не перезаписывайте RaisePostBackEvent и позволяйте странице запроса повторно выполнять последнее событие обратной передачи при восстановлении состояния, поэтому что результаты обновляются. Значение состояния страницы и текущий индекс страницы сохраняются. Разве это не идеально?