2017-07-18 172 views
0

当我单击按钮时,需要自动滚动到页面的底部。我在论坛上发现了很多解决方案,但它对我不起作用。我想这在Java脚本:postBack后滚动到页面的底部

<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

我试过很多其他的解决方案,但它不起作用

+0

你真的需要一个asp按钮吗?尝试正常的HTML按钮。现在页面会回发,同时点击此按钮。 –

+0

[onClick可能使用jQuery .animate进入页面底部](https://stackoverflow.com/questions/11188584/onclick-go-to-the-bottom-of-page-using-jquery-animate) – ReadyFreddy

+0

我真的需要一个asp按钮,因为它与这个函数相关联btn_add_action1_Click谁执行sql查询... – baker

回答

0

单击按钮时,将执行回发。这意味着滚动位置将丢失。如果你想滚动到你所要做的是回传完成后,通过页面的底部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之后点击按钮。

+0

它工作!非常感谢你,这完全是我需要的,我理解PostBack的逻辑问题...... – baker

1

请将MaintainScrollPositionOnPostback =“true”放在您的Page header上,它会自动滚动上次的位置。