在 AJAX 调用后滚动到顶部

ScrollToTop after AJAX call

本文关键字:顶部 滚动 AJAX 调用      更新时间:2023-09-26

在一个项目中,我们使用 teleriks RadAjaxManagerProxy 发送 AJAX 请求,我被委派了一个简单的任务,在 AJAX 调用后通过 javascript 实现滚动到屏幕顶部的行为。这并不像预期的那么容易。

除此之外,我尝试将我的javascript函数直接放在页面上,我已经使用过RadAjaxManager.ResponseScript并且我已经使用jquery AJAX函数进行了测试,但仍然没有进展。有没有人知道如何解决它?

这是我的最新尝试,如果在代码中放置警报,我确实使其工作,如下所示:

ScriptManager.RegisterStartupScript(Page, typeof(Page), "ScrollToTop", "alert('hello');", true);

但是每当我尝试插入像window.location = '#';window.scrollTo(0,0);这样的javascript代码时,它仍然不会滚动到顶部。我错过了什么?

ScriptManager.RegisterStartupScript仅与UpdatePanel一起使用,我没有在我的页面上使用。相反,我找到了基于获取页面实际RadAjaxManagerProxy的解决方案。这是通过使用母版页RadAjaxManager上的函数GetCurrent()来完成的。希望这将为遇到相同问题的其他任何人节省一些时间!我的解决方案:

RadAjaxManager.GetCurrent(Page).ResponseScripts.Add("window.scrollTo(0, 0);");