在updatepanel中有一个计时器.它不断刷新(大约每2.5秒).如果在滚动时刷新它将滚动位置设置回原来的部分更新:(
我正在使用ASP.NET 3.5并且MaintainScrollPositionOnPostback设置为false(即使设置为true行为不会更改).
不知道为什么会这样,但可用性很烦人......
亲切的问候,Sascha
我们遇到了类似的问题,异步回发会将用户重置为非常长的页面的顶部.我们在找到以下代码后解决了这个问题:http://forums.asp.net/t/1047815.aspx
我们在页面上的ScriptManager 之后在页面上插入了以下javascript .
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<script type="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_beginRequest(beginRequest);
function beginRequest() {
prm._scrollPosition = null;
}
</script>
Run Code Online (Sandbox Code Playgroud)
这使得回发没有在回发返回时重置用户滚动位置.
我不确定这是否正是您遇到的问题.您还可以看看这篇文章:在Async postback之后重置滚动位置 - ASP.NET讨论了在回发发生后设置滚动位置的更健壮的方法.
| 归档时间: |
|
| 查看次数: |
3561 次 |
| 最近记录: |