ASP.NET:计时器和滚动位置

标签 asp.net ajax

在更新面板中有一个计时器。它不断刷新(大约每 2.5 秒)。如果它在滚动时刷新,它会将滚动位置设置回部分更新之前的位置:(

我正在使用 ASP.NET 3.5 并且 MaintainScrollPositionOnPostback 设置为 false(即使设置为 true 行为也不会改变)。

不知道为什么会这样,但可用性很烦人......

亲切的问候, 萨沙

最佳答案

我们有一个类似的问题,异步回发会将用户重置到一个很长的页面的顶部。我们在找到以下代码后解决了它: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>

这使得回传返回时不会重置用户滚动位置。

我不确定这是否正是您遇到的问题。你也可以看看这篇文章:Reset scroll position after Async postback - ASP.NET其中讨论了一种在回发发生后设置滚动位置的更可靠的方法。

关于ASP.NET:计时器和滚动位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/629331/

相关文章:

javascript - 延迟重复执行 Javascript 函数

mysql - 通过 AJAX 传递 dataURL

javascript - GridView PageIndexChanging 事件未在 UpdatePanel 内触发

asp.net - 获取 GridView RowCommand 中的 DataKey 值

c# - 将答案存储在具有唯一 ID 的 SQL 表中,并将每个答案存储在列中

C# MVC 4 : Passing JavaScript array in View to Controller

jquery - 如何用jQuery临时存储数据

ASP.NET MVC3 部分 View 命名约定

c# - 插入后如何获取新行的 GUID 值?

java - Ajax 将请求结果发布到跨域请求被阻止 : The Same Origin Policy disallows reading the remote resource