簡體   English   中英

在asp.net中完成回發后如何滾動到頁面底部?

[英]How to scroll to bottom of page when postback finish in asp.net?

在asp.net中完成回發后如何滾動到頁面底部?

單擊主詳細信息中的“顯示詳細信息”時,頁面中有許多詳細信息,此頁面在我的頁面中顯示許多數據。 那么如何自動滾動到頁面底部呢?

來自Hosam Kamel的頁面

要維持大網頁的滾動位置,可以使用以下方法之一:

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

:這將保留所有網站頁面的滾動位置。

2-在頁面聲明<%@ Page MaintainScrollPositionOnPostback="true" %> :僅保留該頁面的滾動位置。

3-以編程方式從System.Web.UI.Page.MaintainScrollPositionOnPostBack = true;后面的代碼進行System.Web.UI.Page.MaintainScrollPositionOnPostBack = true; :這將僅保留此頁面的滾動位置(與頁面傾斜度相同)。

您可以注冊一個JavaScript,將滾動條移動到所需的某個控件的位置,如下所示:

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

在腳本中更改要滾動到的對象的ID的objectId。

正如Guy Starbuk在評論中指出的那樣,.Net 4中不推薦使用RegisterStartupScript ,現在推薦的注冊腳本的方法是:

 ClientScript.RegisterStartupScript(GetType(), "ScrollScript", "document.getElementById('objectId').scrollIntoVie‌​w(true)", true);

答案中缺少的一件事是延遲。 如果在加載過程中網頁的高度沒有變化,那一切都很好。 但是,如果有很多圖像並且您嘗試滾動通過它們; 他們可以再次顛倒您的視線。

需要一個window.onload函數調用:

ClientScript.RegisterStartupScript(GetType(), "ScrollScript", "window.onload = function() {document.getElementById('objectid').scrollIntoView(true);}", true);

在頁面上創建錨,然后在onload上創建:

window.location.href = "#myanchor"

在asp.net網頁中,您可以將OnClientClick事件添加到控件中,從而導致服務器回發以將頁面滾動到底部。

<asp:Button ID="MyButton" runat="server" Text="Submit" OnClick="MyButton_Click" OnClientClick="window.scrollTo(0, document.body.scrollHeight);" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM