如何在autopostback上保持滚动位置?
如何在postback
返回页面的相同位置。 似乎总是到达页面顶部。
我尝试过使用maintainScrollPositionOnPostBack = "true"
但它不起作用。
谢谢,山姆
我最近也在寻找这个。 想出了一大堆Javascript,直到找到以下内容:
在.aspx代码文件的顶部,插入以下内容:
MaintainScrollPositionOnPostback="true"
所以.aspx中的第一句开头
<%@ Page Language="C#" MaintainScrollPositionOnPostback="true" AutoEventWireup="true" CodeBehind="Default.aspx.cs"
这对我来说很好,无需添加任何其他代码来使用updatepanel保持滚动条位置
我用过几种方法来设置maintainScrollPositionOnPostBack。 你试过不止一个吗? 你能描述一下触发回发的内容以及你测试过的浏览器吗? 你在使用母版页吗?
- 你可以设置
Page.MaintainScrollPositionOnPostBack = true;
在页面加载后面的代码中。 - 您可以将其添加到页面声明
<%@ Page MaintainScrollPositionOnPostback="true" %>
- 您可以在Web配置文件
添加它
当页面回发时,您可以将.Focus()设置到特定的服务器控件上。
您是否使用Google Chrome进行测试? 我遇到了同样的问题但是开始在IE和Firefox中进行测试并且它正在运行。 我不认为Chrome支持此属性。 它也可能是.NET Framework 3.5的问题。 它可能已在.NET 4.0中修复
如果你有一个特定的锚,你想移动到你可以做这里描述的事情 。 否则你将不得不使用javascript并找出你离顶部有多远,将其保存在隐藏字段或cookie中,并在页面加载后重置视图。
虽然bbbwex的回复是正确的,但实际上我花了一段时间才意识到需要将MaintainScrollPositionOnPostback =“true”放在两者上
-
ASPX页面的顶部。
-
在IsPostBack中
它在我满足这两个条件后起作用。
在ScriptManager
标记中添加上面的代码,并在页面声明中添加MaintainScrollPositionOnPostback="true"