postBack后滚动到页面底部

时间:2017-07-18 06:07:26

标签: javascript c# asp.net webforms

当我点击按钮时,我需要自动滚动到页面底部。我在论坛上找到了很多解决方案,但它不适合我。我在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

我尝试了很多其他解决方案,但它没有工作

2 个答案:

答案 0 :(得分:2)

单击该按钮时,将执行PostBack。这意味着滚动位置将丢失。如果要滚动到页面底部,则必须在完成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后按钮点击的位置相同。

答案 1 :(得分:1)

请在页面标题&lt;%@ Page%&gt;上添加 MaintainScrollPositionOnPostback =&#34; true&#34; ,它会自动滚动到您上次的位置。