我遇到了一个非常烦人的问题,即页面明显跳转到顶部,然后回显到回发上的前一个滚动位置。
一些细节:我有一个ASP.NET(VS 2010,.Net Framework 4.0)页面,它使用RadioButtonList中的一组RadioButton来显示和隐藏几个Panel,具体取决于选择哪个RadioButton。页面上还有一些其他控件可以使页面回发到服务器。我将MaintainScrollPositionOnPostback
页面属性设置为" true"。
功能上所有这一切都很好。问题在于视觉上页面在重新加载时跳转到顶部,然后跳转到上一个滚动位置。但仅限于某些浏览器。我在使用IE 9,Chrome和Firefox的开发机器上测试了这个。我的老板只在IE 9中进行测试。在我的开发机器上,它在IE 9中运行得很好(奇怪的是)但在Chrome或Firefox中没有。在IE中,页面坐在那里,因为它在回发之前看起来然后只是显示或隐藏面板,保持整个时间的前一个滚动位置。看起来很棒。在Chrome和Firefox中,当页面重新加载时,它会跳转到页面顶部,然后跳到上一个滚动位置,这非常令人讨厌。踢球者,在我的老板机上,她也在使用IE 9.事实上,它与我正在运行的版本完全相同,但在她的机器上,她看到了我在Chrome和Firefox中看到的相同行为。
我尝试在每种可能的组合中添加以下元标记,但他们没有做任何事情来帮助解决这个问题。
<meta http-equiv="Page-Enter" content="Alpha(opacity=100)" /> <meta http-equiv="Page-Exit" content="Alpha(opacity=100)" />
我是否需要重新设计此页面以使用UpdatePanel来解决此问题,还是有另一种方法?我在这里缺少什么?
答案 0 :(得分:0)
我仍然对这个问题感到好奇,如果有人愿意加以评论,我会继续关注这篇文章,看看你对此有什么看法。
答案 1 :(得分:0)
您应该考虑采用利用 __ LASTFOCUS 隐藏字段的 JavaScript解决方法。它在CodeProject文章中有记录:
http://www.codeproject.com/Articles/17571/Maintain-focus-between-postbacks-in-ASP-NET-al