导航

ASP.NET小技巧——回传后保持页面的滚动位置

Posted on 2009-06-17 12:26  LucasYang  阅读(1680)  评论(1编辑  收藏  举报

今天在MSDN上看到一篇文章,关于如何在ASP.NET页面回传后保持当前的滚动(垂直)位置。

这个技巧挺实用的,在此做简单的翻译介绍。

 

默认情况下,ASP.NET页面回传到服务器后,页面会跳回顶部。
对于一个内容较多的页面,你或许有需要自动滚动到用户最后操作的位置。

页面属性 MaintainScrollPositionOnPostBack 可以解决这样的问题,有以下3种方法。

  1. 应用程序级
    作用对象:网站的所有ASP.NET页面
    方法:打开web.config,在<system.web>节点下配置:
       <pages maintainScrollPositionOnPostBack="true"></pages>
  2. 页面级
    作用对象:某一个页面
    方法:打开页面的 aspx 文件,在顶部配置:
       <%@ Page MaintainScrollPositionOnPostback="true" ...
  3. 代码级
    作用对象:某一页面
    方法:在代码文件中书写:
       Page.MaintainScrollPositionOnPostBack = true;
        this.MaintainScrollPositionOnPostBack = true;

 经测试这个方法兼容IE和FF,不兼容谷歌浏览器,其他浏览器暂未测试。

 

原文地址 (Did you know…How to maintain scrollposition after post back?)