как сохранить позицию прокрутки браузера после того, как любое событие сработало - PullRequest
4 голосов
/ 24 мая 2011

Когда я нажимаю на любую кнопку, моя страница перезагружается, и положение страницы меняется.

первая страница прокручивается снизу, затем снова переходит сверху вниз и перемещается вниз.

Как я могу сохранить положение прокрутки после обновления страницы при любом щелчке по событию.

Я пытался

Page.MaintainScrollPositionOnPostBack = true;

при загрузке страницы, но она не работает.

Я использовал ajax updatepanel после его использования, мой браузер зависает, и производительность очень низкая.

У меня есть одна страница aspx, в которой я вызываю 5 веб-пользователя.

Пожалуйста, помогите мне ..

Как я могу сохранить позицию прокрутки такой же после обновления страницы при любом щелчке по событию.

Ответы [ 3 ]

2 голосов
/ 24 мая 2011

Вы пытались декларативно установить свойство MaintainScrollPositionOnPostBack на своей странице

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs"
    Inherits="test" MaintainScrollPositionOnPostback="true" %>
0 голосов
/ 04 октября 2011

Я использовал панель обновления, а также этот скрипт, и он хорошо работает для меня ..

 <script>
    var xPos, yPos;
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_beginRequest(BeginRequestHandler);
    prm.add_endRequest(EndRequestHandler);
    function BeginRequestHandler(sender, args) {
        xPos = document.getElementById("<%=Panel4.ClientID %>").scrollLeft;
        yPos = document.getElementById("<%=Panel4.ClientID %>").scrollTop;
    }
    function EndRequestHandler(sender, args) {
        document.getElementById("<%=Panel4.ClientID %>").scrollLeft = xPos;
        document.getElementById("<%=Panel4.ClientID %>").scrollTop = yPos;
    }
 </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...