如何在任何事件触发后保持浏览器滚动位置
本文关键字:浏览器 滚动 位置 任何 事件 | 更新日期: 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>