【发布时间】:2013-05-09 10:58:42
【问题描述】:
我有一个更新面板,当我单击按钮时会触发,当用户在单击按钮后滚动时遇到问题。
基本上,如果用户单击按钮然后向下滚动页面,页面将跳回显示加载数据的位置。
如果用户在单击后随后滚动页面,我不希望页面跳回到加载数据的位置。
有什么办法可以解决这个问题吗?
提前致谢
【问题讨论】:
标签: jquery asp.net ajax updatepanel
我有一个更新面板,当我单击按钮时会触发,当用户在单击按钮后滚动时遇到问题。
基本上,如果用户单击按钮然后向下滚动页面,页面将跳回显示加载数据的位置。
如果用户在单击后随后滚动页面,我不希望页面跳回到加载数据的位置。
有什么办法可以解决这个问题吗?
提前致谢
【问题讨论】:
标签: jquery asp.net ajax updatepanel
您可以应用以下技巧
创建一个函数并将其绑定到滚动事件
var yscroll = 0;
$(document).ready(function(){
$(window).scroll(function(){
yscroll=window.pageYOffset;// this will update the latest scroll position
})
});
在客户端绑定一个函数,该函数将在更新面板更新后触发。这可以通过以下方式轻松实现:- OnUpdateCompleteClientScript
在该函数中滚动到最后一个滚动位置,即用户在更新之前所在的位置,例如 window.scrollTo(0, yscroll); //更新到最后滚动位置。
【讨论】:
你应该能够做到这一点:
<pages maintainScrollPositionOnPostBack="true" />
在您的网络配置中或:
<%@ Page MaintainScrollPositionOnPostback="true" %>
在您的页眉中。
【讨论】: