Как вы используете UpdatePanels вы собираетесь нужно подключить в ASP.NET AJAX PageRequestManager
Вам нужно добавить метод к endRequest крючками событий, которые:
Поднят после завершения асинхронной обратной передачи и возврата в браузер.
Таким образом, вы бы что-то вроде:
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(pageLoaded);
function pageLoaded(sender, args) {
window.scrollTo(0,0);
}
</script>
который заставит браузер для прокрутки назад в верхней части страницы, как только запрос обновление завершено.
Есть другие события, которые вы могли бы вклиниться вместо курса:
beginRequest // Raised before the request is sent
initializeRequest // Raised as the request is initialised (good for cancelling)
pageLoaded // Raised once the request has returned, and content is loaded
pageLoading // Raised once the request has returned, and before content is loaded
Прелести асинхронного поста-спина, что страница будет поддерживать высоту прокрутки без необходимости устанавливать MaintainScrollPosition, так как нет «полная перезагрузка страницы» происходит, в этом случае вы действительно хотите, чтобы этот эффект произошел, поэтому вам нужно будет вручную его создать.
Редактировать, чтобы ответить на вопрос обновляемой
Ok, так что если вам нужно только сбросить постион на определенные нажатия кнопок вам нужно сделать что-то вроде этого:
начать зацепив в BeginRequest вместо/а:
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Это происходит потому, что у параметра арг вы получите доступ к:
args.get_postBackElement().id
Что скажет вам идентификатор кнопки, которая запустила все событие - вы можете либо проверить значение здесь, либо переместить страницу, либо сохранить ее в переменной, и запросить ее в конце запроса - осознавая условия гонки и т. д., когда пользователь нажимает на другую кнопку до завершения вашего первоначального обновления.
Это должно вам начать работу с любой удачей - есть немало примеров вокруг этого на Working with PageRequestManager Events
Я хочу только вернуться в начало страницы с помощью этого конкретного события ASP.NET GridView. У меня есть группа других кнопок на той же странице, на которой я хочу сохранить позицию прокрутки. –