ASP.NET: таймер и положение прокрутки - PullRequest
3 голосов
/ 10 марта 2009

Есть таймер внутри панели обновления. Постоянно обновляется (примерно каждые 2,5 секунды). Если он обновился во время прокрутки, он устанавливает позицию прокрутки обратно на то, что было до частичного обновления: (

Я использую ASP.NET 3.5, а для MaintainScrollPositionOnPostback задано значение false (даже если значение true не изменяет поведение).

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

С уважением, Sascha

1 Ответ

6 голосов
/ 11 марта 2009

У нас была похожая проблема, когда асинхронная обратная передача приводила пользователя к началу очень длинной страницы. Мы решили это после нахождения следующего кода по адресу: http://forums.asp.net/t/1047815.aspx

Мы вставили следующий javascript на нашу страницу после ScriptManager на странице.

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>

<script type="text/javascript">
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_beginRequest(beginRequest);

    function beginRequest() {
        prm._scrollPosition = null;
    }
</script>

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

Я не уверен, что это именно та проблема, с которой вы столкнулись. Вы также можете взглянуть на этот пост: Сброс позиции прокрутки после асинхронной обратной передачи - ASP.NET , в которой обсуждается более надежный способ установки позиции прокрутки после обратной передачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...