【问题标题】:Scroll to the Bottom of the Page after postBackpostBack 后滚动到页面底部
【发布时间】:2017-07-18 06:07:26
【问题描述】:

单击按钮时,我需要自动滚动到页面底部。我在论坛上找到了很多解决方案,但对我不起作用。我在 Java Script 中试过这个:

<asp:Button  ID="btn_add_action1" runat="server" Text="Ajouter une action" onclick="btn_add_action1_Click" OnClientClick = "goToBottom()" />

带有JS功能:

window.scrollTo(0,document.body.scrollHeight);

document.body.scrollTop = document.body.scrollHeight;

我在这里找到了这个:Scroll Automatically to the Bottom of the Page

我尝试了许多其他解决方案,但都不起作用

【问题讨论】:

  • 你真的需要一个asp按钮吗?尝试普通的 html 按钮。现在页面将在单击此按钮时回发。
  • 我真的需要一个asp按钮,因为它与这个函数btn_add_action1_Click谁执行一个sql查询...

标签: javascript c# asp.net webforms


【解决方案1】:

当您单击该按钮时,将执行回发。这意味着滚动位置将丢失。如果要滚动到页面底部,则必须在 PostBack 完成后使用ScriptManager

protected void Button1_Click(object sender, EventArgs e)
{
    //your button code

    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "scrollDown", "setTimeout(function () { window.scrollTo(0,document.body.scrollHeight); }, 25);", true);
}

还有一个叫做MaintainScrollPositionOnPostBack的东西,它做类似的事情,它与PostBack之后的按钮点击的位置相同。

【讨论】:

  • 它工作!非常感谢,这正是我所需要的,我理解 PostBack 的问题,它的逻辑......
【解决方案2】:

请把 MaintainScrollPositionOnPostback="true" 放在您的页眉 上,它会自动滚动到您上次所在的位置。

【讨论】:

    猜你喜欢
    • 2011-05-14
    • 2012-07-27
    • 1970-01-01
    • 1970-01-01
    • 2010-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多