今天在MSDN上看到一篇文章,关于如何在ASP.NET页面回传后保持当前的滚动(垂直)位置。
这个技巧挺实用的,在此做简单的翻译介绍。
默认情况下,ASP.NET页面回传到服务器后,页面会跳回顶部。
对于一个内容较多的页面,你或许有需要自动滚动到用户最后操作的位置。
页面属性 MaintainScrollPositionOnPostBack 可以解决这样的问题,有以下3种方法。
- 应用程序级
作用对象:网站的所有ASP.NET页面
方法:打开web.config,在<system.web>节点下配置:
<pages maintainScrollPositionOnPostBack="true"></pages> - 页面级
作用对象:某一个页面
方法:打开页面的 aspx 文件,在顶部配置:
<%@ Page MaintainScrollPositionOnPostback="true" ... - 代码级
作用对象:某一页面
方法:在代码文件中书写:
Page.MaintainScrollPositionOnPostBack = true; 或
this.MaintainScrollPositionOnPostBack = true;
经测试这个方法兼容IE和FF,不兼容谷歌浏览器,其他浏览器暂未测试。
原文地址 (Did you know…How to maintain scrollposition after post back?)