在Postback上保持滚动位置和所选控件

本文关键字:控件 位置 滚动 Postback | 更新日期: 2023-09-27 18:20:21

返回另一个基于web的问题。

当控件向服务器发出回发时,页面将刷新(精细)。页面也会滚动回顶部并失去所选控件。如果它在回发后根据所发生的更改而重新发布,则控件将变为可见或隐藏。即使页面可见性没有任何变化,焦点也会丢失,当前滚动也会重置。在文本字段中输入的数据将被保留,任何单选按钮/复选框的选择也将被保留。问题是选项卡被重置为索引0,页面滚动被发送回页面顶部。

我正在使用.Net 4.0

我曾尝试在asp页面本身和web.config中添加MaintainScrollPositionOnPostback="true",但都没有成功。我尝试过在使用和不使用Ajax更新面板的情况下,当文本框文本或单选按钮发生更改,并且回发仍然会导致滚动和索引丢失时,使用条件更新触发关闭。

任何ides都将是美妙的。Ta!

在Postback上保持滚动位置和所选控件

首先,MaintainScrollPositionOnPostback="true"在asp.net 2.0中有一个已知的错误,请参阅此处。

此外,正确的语法是maintainScrollPositionOnPostback。(小写m)

我使用了maintainScrollPositionOnPostback,但在IE中有很多问题,然后我使用了asp.net AJAX Control Toolkit UpdatePanel,它解决了问题(页面不会滚动到顶部)并节省了一些带宽。

编辑:

我想我理解你的问题,这是对元素的关注,可以使用一些javascript的变通方法来完成,比如这里。

希望能有所帮助。