我的页面做的比较大,页面滚到下方时,再点击按钮,页面刷新时,总是回到顶端,所以还要滚动鼠标,下来才能看到结果。
我想知道有没有方法,能点击刷新后,还显示在之前滚动的位置。不用AJAX能实现吗?

解决方案 »

  1.   

    加锚标签<a name="aa">
    刷新时location.href="url#aa"
      

  2.   

    Page_Load里加上
    Page.MaintainScrollPositionOnPostBack = true;
    试一下
      

  3.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
      <script type="text/javascript">
               function divChange(obj)
    {
    a1.scrollIntoView();
    } function btnClick()
    {
    var div1 =document.getElementById("div1");
    var a1 = document.getElementById("a1");
    div1.removeChild(a1); var str = div1.innerHTML;
    var text = document.getElementById("text");
    div1.innerHTML =str + text.value; var newa1 = document.createElement("a");
    newa1.id = "a1";
    div1.appendChild(newa1); div1.click();
    }
      </script>
     </HEAD> <BODY>
      <div id="div1" style="height:60px; background-color:blue;overflow:auto;" onclick="divChange(this)">
        asdasd <br />
    asdasda<br />
    asdasd<br />
    asdasd<br />
    asdasd<br />
    asdasd<br />
    asdasd<br />
    asdasd<br />
    <a id="a1"></a>
      </div>
      <input type="button" value="点我输入内容" onclick="btnClick()" />
      <input type="text"  id="text" value="我移动到最下面了哦<br />" style="width:200px;" />
     </BODY>
    </HTML>这有个例子,不知道对你有用不
      

  4.   

    我用IE6 以及FF,
    随便一个网站,刷新后都仍处于刷新前的位置.
      

  5.   

     <SCRIPT LANGUAGE="JavaScript">
    <!-- 
    /*haiwa@2004-02-12*/ 
    function Trim(strValue) 

    return strValue.replace(/^\s*|\s*/g,""); 

    function SetCookie(sName, sValue) 

    document.cookie = sName + "=" + escape(sValue); 
    } function GetCookie(sName) 

    var aCookie = document.cookie.split(";"); 
    for (var i=0; i < aCookie.length; i++) 

    var aCrumb = aCookie[i].split("="); 
    if (sName == Trim(aCrumb[0])) 

    return unescape(aCrumb[1]); 

    } return null; 

    function scrollback() 

    if (GetCookie("scroll")!=null){document.body.scrollTop=GetCookie("scroll")} 

    //-->
    </script> 然后修改BODY位置为 
    <BODY id=body onscroll=SetCookie("scroll",body.scrollTop); onload="scrollback();">
      

  6.   

    点击刷新了以后可以控制的。
    最简单的方法就是在html页面最上面的<%@Page %>加入MaintainScrollPositionOnPostback="true"
    当然你可以可以通过JS来控制
    或者是记住你点击的是哪个按钮,然后页面刷新的时候让他得到焦点,就可以自动的滚动到那边了。
      

  7.   

     Page.MaintainScrollPositionOnPostBack=True;
    http://fqctyj.blog.163.com/blog/static/7084345520087542120777/ 解析 Page.MaintainScrollPositionOnPostBack 属性
      

  8.   

    正解,将<a name="aa">放到结果的前面,<body onunload="fclose();"  onload="fload();" onbeforeunload="bfunload();"> body加JS函数
    JS函数大致如下:
     var s = "test"; 
     function fclose() 
       { 
          if(s=="no") //这是刷新页面,如果是刷新页面则改变当前地址
             window.location.href='#aa';//定位到本页<a name="aa">处
          else //这是关闭页面
       } 
    function fload() 
       { 
          alert("load me!="+s); 
       } 
       function bfunload() 
       { 
          s = "no";
       }
      

  9.   

    刷新肯定是会保存你浏览的位置的,但我估计lz的不是刷新而是重新get
      

  10.   

    如果是链接最好这样用:
    <a href="###" onclick="执行js函数">哈哈</a>如果是服务端按钮之类的就用这个吧
    Page.MaintainScrollPositionOnPostBack = true;
      

  11.   


    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" MaintainScrollPositionOnPostback ="true"  %>