【问题标题】:how to retain the browser scroll position after any event gets fire任何事件触发后如何保留浏览器滚动位置
【发布时间】:2011-08-31 20:34:43
【问题描述】:

当我点击任何按钮时,我的页面正在重新加载并且页面位置正在发生变化。

第一页滚动到底部,然后又在顶部移动到下方。

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

我试过了

Page.MaintainScrollPositionOnPostBack = true;

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

我用了ajax updatepanel后浏览器卡住了,性能很慢。

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

请任何人帮助我..

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

【问题讨论】:

  • 您使用的是哪个版本的 asp.net?
  • @Abdul Muqtadir:我使用的是 Visual Studio 2008,.Net Framework 3.5

标签: c# asp.net scrollbar


【解决方案1】:
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    我使用了更新面板以及这个脚本,它对我来说效果很好..

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-10
      • 1970-01-01
      • 2012-04-17
      • 1970-01-01
      • 2011-10-22
      • 2016-11-11
      • 1970-01-01
      相关资源
      最近更新 更多