| 
                         主要方法是: 
  用一个隐藏控件保存当前scorll值。回传回来后根据scroll的值在重新设置scroll。 
 
  1、首先用onscroll事件保存scorll值,并用HiddenField记录scroll值  复制代码 代码如下:  <div id="lv_content" class="unify_content" style="padding-left: 0; height: 455px;" onscroll="SetScrollPosition(this)">  </div>  <asp:HiddenField ID="HiddenFieldScroll" runat="server" />   
 
  代码  //2、编写onscroll事件,主要用于保存当前控件的scroll值  复制代码 代码如下:  function funSaveScroll(sender) {  //得到隐藏控件  var vScroll = $get('ctl00_ContentPlaceHolder1_hfLvScroll');  if (vScroll != null) {  //设置隐藏控件的值为scorll值  vScroll.value = sender.scrollTop;  }  }   
 
  代码  复制代码 代码如下:  //3、在页面的加载完成事件中处理scorll值  var prm = Sys.WebForms.PageRequestManager.getInstance();  //设置加载完成事件  prm.add_pageLoaded(pageLoaded); 
  //加载完成重新设置控件的scroll值  function pageLoaded(sender,args) {  //得到要设置scroll值的控件  var vDiv = $get("lv_content");  if (vDiv != null) {  //得到隐藏控件  var vScrollValue = $get("ctl00_ContentPlaceHolder1_hfLvScroll");  //设置控件的scroll值  vDiv.scrollTop = vScrollValue.value;  }  }    通过以上代码就可以解决回传回来后scroll变动的问题。 
  如果使用了Master页面,可以将上边的代码放在master页面中,进行公用。 
  1)先在Master页面中加入HiddenField。 
  <asp:HiddenField ID="HiddenFieldScroll" runat="server" /> 
 
 
  代码  复制代码 代码如下:  /*  2)在master页面中编写onscroll事件,记录其它页面中控件的scroll值  使用方法:只要在要设置控件中设置其ID并加入onscroll事件即可。即加入 onscroll="SetScrollPosition(this)"语句  */  function SetScrollPosition(sender) {  var scrollTemp = $get("ctl00_HiddenFieldScroll");  if (scrollTemp != null) {  //将要设置控件的ID和scroll值一起保存。中"|"分隔  scrollTemp.value = sender.id + "|" + sender.scrollTop;  }  }   
 
 
 
  代码  复制代码 代码如下:  //3)在页面的加载完成事件中处理scorll值  Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(onPageLoaded);  //The Pageloaded for scroll orientation  function onPageLoaded(sender,args) {  var scrollTemp = $get("ctl00_HiddenFieldScroll");  if (scrollTemp != null) {  var scorllValue = scrollTemp.value;  if (scorllValue.length > 0) {  var target = scorllValue.split("|");  if (target.length > 1) {  var targetControlID = target[0];  var targetValue = target[1];  var targetControl = $get(targetControlID);  //得到要设置控件  if (targetControl == null || targetValue.length < 1) {  return;  }  //设置控件的scroll值  targetControl.scrollTop = targetValue;  }  }  }  } 
    4)调用时,其它页面控件中加onscroll="SetScrollPosition(this)" 并设置ID即可  <div id="lv_content" class="unify_content" style="padding-left: 0; height: 455px;" onscroll="SetScrollPosition(this)">  </div>                         (编辑:莱芜站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |