как сохранить положение прокрутки браузера после того, как любое событие получает огонь
Когда я нажимаю на любую кнопку, моя страница снова загружается, и положение страницы меняется.
Первая страница прокручивается снизу, затем снова сверху, ее перемещение вниз.
Как я могу сохранить положение прокрутки таким же после обновления страницы при любом событии щелчка.
Я пытался
Page.MaintainScrollPositionOnPostBack = true;
На моей странице загрузка, но она не работает.
Я использовал ajax updatepanel после его использования мой браузер застревает, и производительность очень низкая.
У меня есть одна страница aspx, в которой я вызываю 5 web user control.
Пожалуйста, кто-нибудь, помогите мне..
Как я могу сохранить положение прокрутки таким же после обновления страницы при любом событии щелчка.
3 ответов:
Вы пробовали декларативно установить свойство MaintainScrollPositionOnPostBack на своей странице,
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" MaintainScrollPositionOnPostback="true" %>
Смотрите в этой статье поддерживать положение прокрутки после асинхронной обратной связи
И проверьте этот поток сброс положения прокрутки после асинхронной обратной передачи - ASP.NET
Я использовал панель обновления, а также этот скрипт, и он хорошо работает для меня..
<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>
Comments