如何在autopostback上保持滚动位置?

Bob*_*law 21 c# asp.net postback

我怎样才能回到页面的相同位置postback.它总是似乎到达页面的顶部.

我试过用了 maintainScrollPositionOnPostBack = "true"

但它不起作用.

谢谢,山姆

小智 36

我最近也在寻找这个.想出了一大堆Javascript,直到找到以下内容:

在.aspx代码文件的顶部,插入以下内容:

 MaintainScrollPositionOnPostback="true"
Run Code Online (Sandbox Code Playgroud)

所以.aspx中的第一句开头

<%@ Page Language="C#" MaintainScrollPositionOnPostback="true" AutoEventWireup="true" CodeBehind="Default.aspx.cs"
Run Code Online (Sandbox Code Playgroud)

这对我来说很好,而无需使用updatepanel添加任何其他代码来保持滚动条位置

  • 所以问题明确地说这个解决方案不起作用,但它不仅是提议的,而且被接受作为答案? (9认同)
  • @ChristoferOlsson看起来问题可能是"m"没有像问题的指示评论部分那样大写.这对我有用. (3认同)

K R*_*ard 16

我用过几种方法来设置maintainScrollPositionOnPostBack.你试过多个吗?你能描述一下触发回发的内容以及你测试过的浏览器吗?你在使用母版页吗?

  1. 您可以Page.MaintainScrollPositionOnPostBack = true;在页面加载后面的代码中设置.
  2. 您可以将其添加到页面声明中 <%@ Page MaintainScrollPositionOnPostback="true" %>
  3. 您可以将其添加到Web配置文件中 <pages maintainScrollPositionOnPostBack="true" />


The*_*eed 6

当页面回发时,您可以将.Focus()设置到特定的服务器控件上.