更新后滚动条还在原来编辑的记录处

本文介绍了一种在 ASP.NET 1.1 和 2.0 中保存和恢复页面滚动位置的方法。对于 ASP.NET 1.1 版本,通过 JavaScript 实现了滚动位置的记录与恢复;而在 ASP.NET 2.0 中,则使用了内置的 MaintainScrollPositionOnPostback 属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 asp.net 1.1 必须用脚本

//页面头部
   <!--
    function SetCookie(sName, sValue)
    {
        date = new Date();
        s = date.getDate();
        date.setDate(s+1);            //expire time is one month late!, and can't be current date!
        document.cookie = sName + "=" + escape(sValue) + "; expires=" + date.toGMTString();
    }
    function GetCookie(sName)
    {
        // cookies are separated by semicolons
        var aCookie = document.cookie.split("; ");
        for (var i=0; i < aCookie.length; i++)
        {
        // a name/value pair (a crumb) is separated by an equal sign
        var aCrumb = aCookie[i].split("=");
        if (sName == aCrumb[0]) {
            return unescape(aCrumb[1]);}
        }
        
        // a cookie with the requested name does not exist
        return null;
    }

    function fnLoad()
    {
        var top=0;
        document.body.scrollLeft = GetCookie("scrollLeft");     
        top=GetCookie("scrollTop"); 
        document.documentElement.scrollTop=top;      
        document.body.scrollTop=top;
    }

    function fnUnload()
    {
        var top=0;     
        if (document.documentElement && document.documentElement.scrollTop)
        {
            top=document.documentElement.scrollTop;
        }
        else if (document.body && document.body.scrollTop)
        {
            top=document.body.scrollTop
        }
        SetCookie("scrollLeft", document.body.scrollLeft) ;
        SetCookie("scrollTop", top) ;  
    }
   
    //window.onload = fnLoad;
    window.onunload = fnUnload;

    // -->


//页面尾部:

<script language="javascript">
fnLoad() ;
</script>

2.asp.net 2.0

<%@ Page MaintainScrollPositionOnPostback="true" %>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值