关闭

轻松解决页面回传后页面滚动到顶端

204人阅读 评论(0) 收藏 举报

转自:http://blog.csdn.net/teng_s2000/archive/2005/12/28/563873.aspx

页面回传后页面滚动到顶端,造成这一问题的原因是页面回传,其实等于载入一次页面,新载入的页面会定点到页面的顶端。这一特点会造成很差的用户使用感受,如何解决这一问题呢,我们可以借用隐藏的ViewState机制保存当前页面滚动的位置,在页面回传后调用。

<%@ Page language="c#" Codebehind="Test_THIN.aspx.cs" AutoEventWireup="false" Inherits="EIM.web.Test_THIN" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>Test_THIN</title>
  <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
  <meta name="CODE_LANGUAGE" Content="C#">
  <meta name="vs_defaultClientScript" content="JavaScript">
  <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
  <script language="javascript">
   function savescroll()
   {
    var hid = document.getElementById("hid");
    hid.value = document.body.scrollTop;
   }
   function getscroll()
   {
    var hid = document.getElementById("hid");
    //hid.value = document.body.scrollTop;
    document.body.scrollTop = hid.value;
   }
  </script>
 </HEAD>
 <body MS_POSITIONING="GridLayout" onload="getscroll()" onscroll="savescroll()">
  <form id="Test_THIN" method="post" runat="server" onsubmit="savescroll()">
   <INPUT style="Z-INDEX: 101; LEFT: 216px; POSITION: absolute; TOP: 127px" type="hidden" id="hid" runat="server">&nbsp;
   <asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 37px; POSITION: absolute; TOP: 1529px" runat="server" Text="Button"></asp:Button>
  </form>
 </body>
</HTML>

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:48307次
    • 积分:740
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:51篇
    • 译文:1篇
    • 评论:26条
    最新评论