李晓亮的博客

导航

【转】回发后返回到浏览器中的同一位置

转自:http://www.nnllok.cn/myBlog/archives/2008/4631.html#6072

Page指令:
MaintainScrollPositionOnPostback
指示在回发后是否将用户返回到客户端浏览器中的同一位置。如果应该将用户返回到同一位置,则为 true;否则为 false。

默认值为 false。

注意:
开发人员可以通过设置 Web.config 文件的 <pages> 元素上的 maintainScrollPostitionOnPostback 属性(注意,此属性在配置文件中是区分大小写的),为所有页定义该属性。

上面的方法是前几天从这里看到的:http://hi.baidu.com/lubu123456/blog/item/f11efec433826faf8226acb1.html

在这之前,我一直使用自己写的自定义控件:MarkScrollBar.ascx

完整代码:

<%@ Control Language="C#" ClassName="MarkScrollBar" %>

<script runat="server">

</script>

<asp:HiddenField ID="HfScroll" runat="server" />
    <script type="text/jscript">
        function SetScroll()
        {
            var obj, objName;
            objName = "<% =this.HfScroll.ClientID %>";
            obj = document.getElementById(objName);
            if(obj)
            {
                obj.value = document.documentElement.scrollTop;
            }
        }
        function GetScroll()
        {
            var obj, objName;
            objName = "<% =this.HfScroll.ClientID %>";
            obj = document.getElementById(objName);
            if(obj)
            {
                if(obj.value != "")
                {
                    document.documentElement.scrollTop = obj.value;
                    obj.value = "";
                }
            }
        }
        window.onload = function()
        {
            GetScroll();
        }
        document.forms[0].onsubmit = function()
        {
            SetScroll();
        }
    </script>

posted on 2009-06-30 00:48  LeeXiaoLiang  阅读(138)  评论(0)    收藏  举报