2017-07-18 220 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上,它會自動滾動上次的位置。