如何在任何事件触发后保持浏览器滚动位置

本文关键字:浏览器 滚动 位置 任何 事件 | 更新日期: 2023-09-27 17:57:26

当我点击任何按钮时,我的页面都会重新加载,页面位置也会发生变化。

第一页向下滚动,然后再上到顶部,再向下移动。

如何在任何事件点击刷新页面后保持滚动位置不变。

我试过

Page.MaintainScrollPositionOnPostBack = true;

在我的页面加载上,但不起作用。

我使用了ajax更新面板,在使用它之后,我的浏览器被卡住了,性能非常慢。

我有一个aspx页面,因为我正在调用5 web用户控件。

请任何人帮助我。

如何在任何事件点击刷新页面后保持滚动位置不变。

如何在任何事件触发后保持浏览器滚动位置

您是否尝试在页面上以声明方式设置MaintainScrollPositionOnPostBack属性

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs"
    Inherits="test" MaintainScrollPositionOnPostback="true" %>

我使用了更新面板以及这个脚本,它对我来说运行得很好

 <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>