如果一个页面很长的话,我们拉滚动条到页面的底部(或者页面中的任何一个位置)然后postback, 之后滚动条就会定位到页面的顶部,这样很麻烦,因为我又要拉动滚动条到页面的底部,有什么方法可以令POSTBACK之后滚动条自动定位到POSTBACK之前的位置?

解决方案 »

  1.   

    在VS.NET里查看document属性,把smartNavigation设置为true即可
      

  2.   

    设置smartNavigation属性通常会引起验证控件出错.你可以如此:<SCRIPT LANGUAGE="JavaScript">
    <!--
    //页面加载时,重新定位页面位置
    function loadscroll()
    {
    window.mybody.scrollTop = document.all("txtscroll").value;
    }//当页面位置发生变化时,改变控件值
    function startonscroll()
    {
    document.all("txtscroll").value = window.mybody.scrollTop;
    }
    //-->
    </SCRIPT>
    <body MS_POSITIONING="FlowLayout" onload="loadscroll();" onscroll="startonscroll();">
    <form id="Form1" method="post" runat="server">
    <span style="DISPLAY:none">
    <INPUT id="txtscroll" type="hidden" name="txtscroll" runat="server">
    </span>
    这样的话,此页面将会自动记录上一次的页面位置.
      

  3.   

    see:
    http://huobazi.cnblogs.com/archive/2004/09/20/ScrollPage.html