gpt4 book ai didi

asp.net - 在回发页面中维护 div 的滚动位置

转载 作者:太空狗 更新时间:2023-10-29 13:06:12 26 4
gpt4 key购买 nike

我在 aspx 页面中有一个 div,溢出设置为自动。 div 的内容是动态创建的,由链接按钮列表组成。

<div id="div1" style="overflow: auto; height: 100%;">
.....
</div>

当我在 div 中向下滚动并单击任何链接按钮时,页面重新加载会丢失 div 内的滚动位置并将我带到 div 的顶部。有什么办法可以防止这种情况发生吗?

请注意,这是针对页面内的 div。 Page.MaintainScrollPositionOnPostBack() 不起作用。

最佳答案

正如 Jeff S 提到的,处理这种情况的一种方法是使用 javascript 跟踪 div 的滚动位置,并且每次加载页面时都会将滚动位置重置为其之前的值。

下面是一些示例代码:

<html>
<body onload="javascript:document.getElementById('div1').scrollTop = document.getElementById('scroll').value;">
<form id="form1" runat="server">
<input type="hidden" id="scroll" runat="server" />
<div id="div1" style="overflow: auto; height: 100px;" onscroll="javascript:document.getElementById('scroll').value = this.scrollTop">
...........<br />
...........<br />
...........<br />
...........<br />
...........<br />
...........<br />
...........<br />
...........<br />
...........<br />
...........<br />
...........<br />
...........<br />
<asp:LinkButton ID="LinkButton1" runat="server" Text="test2"></asp:LinkButton>
</div>
<asp:LinkButton ID="LinkButton2" runat="server" Text="test1"></asp:LinkButton>
</form>
</body>
</html>

实际上,我不会将 javascript 直接放在元素中,但这只是一个例子。您也可以将滚动位置存储在 cookie 中。

关于asp.net - 在回发页面中维护 div 的滚动位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1094589/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com