溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決ASP.NET回傳后div滾動條位置復位的問題

發(fā)布時間:2021-07-27 09:12:52 來源:億速云 閱讀:165 作者:chen 欄目:開發(fā)技術

本篇內容介紹了“如何解決ASP.NET回傳后div滾動條位置復位的問題”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

首先是為DIV添加一個onscroll="javascript:setScollTop()" 的方法(當然不一定是DIV其他的標簽思路應該也是這樣的)

復制代碼 代碼如下:


<div  align="left" id="dvScoll_1"   onscroll="javascript:setScollTop()">
www.jb51.net
......
</div>

這里setScrollTop方法就是每次滾動條滾動的時候,把div的ScrollTop的值賦給一個隱藏控件。代碼如下

復制代碼 代碼如下:


function setScollTop()
  {
     document.getElementById("<%=hidScrollTop.ClientID%>").value=document.getElementById("dvScoll_1").scrollTop;
  }

因為每次.net回發(fā)滾動條都會復位,所以這里我們 在Page_Load中給DIV的ScrollTop重新賦值了。代碼如下

復制代碼 代碼如下:


if (!IsPostBack)
                {
                   。。。。。
                }
                else
                {
                    //恢復滾動條位置
                    if (this.hidScrollTop.Value!="")
                    {
                        string scrollTop = this.hidScrollTop.Value;
                        string strScript="document.getElementById('dvScoll_1').scrollTop="+scrollTop;
                        RegisterScriptBlock(this.Page, strScript);
                    }
                }

這里的RegisterScriptBlock是我寫的一個方法,放在公共類庫里的,如下所示。

復制代碼 代碼如下:


 /// <summary>
    /// 注冊腳本塊
    /// </summary>
    public static void RegisterScriptBlock(System.Web.UI.Page page, string _ScriptString)
    {
        page.ClientScript.RegisterStartupScript(page.GetType(), "scriptblock", "<script type='text/javascript'>" + _ScriptString + "</script>");
    }
 

“如何解決ASP.NET回傳后div滾動條位置復位的問題”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI