zoukankan      html  css  js  c++  java
  • 解决ASP.NET回传后div滚动条位置复位的问题

    中心思想:用一个隐藏控件保存当前scorll值。回传回来后根据scrollTop的值,然后在Page_Load中重新设置scrollTop。

    首先是为DIV添加一个 onscroll="javascript:setScollTop()" 的方法(当然不一定是DIV其他的标签思路应该也是这样的)

    <div style="overflow: auto; height: 152px" align="left" id="dvScoll_1"   onscroll="javascript:setScollTop()">
    ......
    ......
    ......
    </div>

    这里setScrollTop方法就是每次滚动条滚动的时候,把div的ScrollTop的值赋给一个隐藏控件。代码如下

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

    因为每次.net回发滚动条都会复位,所以这里我们 在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>");
        }
  • 相关阅读:
    iOS CoreData使用笔记
    iOS UIWebView中添加手势
    Swift sha1 md5加密
    Swift用block响应UIAlertView和UIActionSheet的按钮点击事件
    iOS判断iPhone型号
    iOS Document Interaction 编程指南
    Swift项目开发中缓存计算以及清除
    SVN 一次性提交多个目录中文件
    svn 相关
    sublime text 2相关
  • 原文地址:https://www.cnblogs.com/jlcoder/p/3272189.html
Copyright © 2011-2022 走看看