在长aspx页面刷新后保持位置不变

转载 2006年06月22日 15:38:00

在设计asp.net页面的时候,如果页面很长,刷新后页面会直接回到顶端,如果想要在刷新之后页面依然保持在刷新前的位置,在代码页中加入以下代码,并在Page_Load()中调用即可

  private void RetainScrollPosition()
  {
   StringBuilder saveScrollPosition = new StringBuilder ();
   StringBuilder setScrollPosition = new StringBuilder ();

   RegisterHiddenField("__SCROLLPOS", "0");

   saveScrollPosition.Append("<script language='javascript'>");
   saveScrollPosition.Append("function saveScrollPosition() {");
   saveScrollPosition.Append("    document.forms[0].__SCROLLPOS.value = thebody.scrollTop;");
   saveScrollPosition.Append("}");
   saveScrollPosition.Append("thebody.onscroll=saveScrollPosition;");
   saveScrollPosition.Append("</script>");

   RegisterStartupScript("saveScroll", saveScrollPosition.ToString());

   if (Page.IsPostBack)
   {
    setScrollPosition.Append("<script language='javascript'>");
    setScrollPosition.Append("function setScrollPosition() {");
    setScrollPosition.Append("    thebody.scrollTop = " + Request["__SCROLLPOS"] + ";");
    setScrollPosition.Append("}");
    setScrollPosition.Append("thebody.onload=setScrollPosition;");
    setScrollPosition.Append("</script>");

    RegisterStartupScript("setScroll", setScrollPosition.ToString());
   }
  }

相关文章推荐

JavaScript html js页面刷新之后下拉菜单选中值不变,在按钮提交后保存下拉列表中值不变

JavaScript html js页面刷新之后下拉菜单选中值不变,在按钮提交后保存下拉列表中值不变 博客分类: javaScript HTMLJavaScript金山  除了下...

页面刷新/回传后页面保持滚动条位置 asp.net / JS

方法1 页面属性MaintainScrollPositionOnPostBack (最好) 1.1  应用程序中        作用对象:网站的所有ASP.NET页面    ...

C#事件刷新:页面刷新时定位到原来的位置

如何使页面刷新后仍然保持滚动条位置,有几种方法: 1. MaintainScrollPositionOnPostBack 最好 在Page_Load 中加入 Page.MaintainScroll...

页面刷新时定位到原来的位置 C# 刷新

如何使页面刷新后仍然保持滚动条位置,有几种方法: 1. MaintainScrollPositionOnPostBack 最好 在Page_Load 中加入 Page.MaintainScroll...

div+css如何让页面随着窗口的变化内容位置不变

前端关于div内容随着浏览缩放如何不改变其位置,不改变元素内容的相对位置,使其如浏览器正常般呈现 在我们眼前

div浮层,滚动条移动,保持位置不变的4种方法

div在顶部不变、滚动条滚动,div还是在顶部! 直接上传源码 了: 方法一: [html] view plaincopyprint? >      html x...

剑指offer-----使数组中所有奇数在前,所有偶数在后,并保持相对位置不变

题目:输入一个整数数组,实现一个函数调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数的相对位置不变。 思路:这个题的解法有好多种,...

华为:现有一串字符串,请对字符串中的数字字符按照升序排序,其他非数字字符存储位置保持不变,将结果保存至output数组中

/* 现有一串字符串,请对字符串中的数字字符按照升序排序, 其他非数字字符存储位置保持不变,将结果保存至output数组中。 【注:字母可能包含大写、小写字母、数字以及控制字符】 要求实现函数my_s...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)