如何在asp.net中回发完成后滚动到页面底部?

mon*_*oys 7 javascript asp.net

如何在asp.net中回发完成后滚动到页面底部?

当我在主要详细信息中单击"显示详细信息"时,页面中有很多详细信息,此页面在我的页面中显示了许多数据.那么如何自动滚动到页面底部?

ram*_*ram 15

来自Hosam Kamel的页面

要维护大型网页的滚动位置,您可以使用以下方法:

1-使用Web.config页面部分 <pages maintainScrollPositionOnPostBack="true" />

:这将保持所有网站页面的滚动位置.

页面声明中的2- <%@ Page MaintainScrollPositionOnPostback="true" %>:这将仅保留此页面的滚动位置.

3-以编程方式从后面的代码System.Web.UI.Page.MaintainScrollPositionOnPostBack = true; :这将仅保留此页面的滚动位置(与页面拆分相同).


Edg*_*dez 12

你可以注册一个javascript来将滚动移动到你想要的某个控件的位置,如下所示:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            RegisterStartupScript("ScrollScript", "document.getElementById('objectId').scrollIntoView(true);");
        }
    }
Run Code Online (Sandbox Code Playgroud)

在脚本中更改要滚动到的对象的Id的objectId.

正如Guy Starbuk在评论中所述,RegisterStartupScript在.Net 4中已被弃用,现在推荐的注册脚本的方法是:

 ClientScript.RegisterStartupScript(GetType(), "ScrollScript", "document.getElementById('objectId').scrollIntoVie??w(true)", true);
Run Code Online (Sandbox Code Playgroud)

  • 这是一个很好的答案,对我有用 - 需要注意的是,在.NET 4中不推荐使用RegisterStartupScript,我使用了以下内容:ClientScript.RegisterStartupScript(GetType(),"ScrollScript","document.getElementById('ContentPlaceHolder1_postSaveMessageDiv') .scrollIntoView(true)",true); (3认同)