UpdatePanel中的ListBox在选择底部的项目后跳转到顶部?

时间:2009-02-10 19:35:32

标签: c# asp.net updatepanel

这仅发生在Internet Explorer中。我有一个ListBox,它位于UpdatePanel中。 ListBox中有大约100个项目,它一次显示15个项目。它们从1到100排序。如果我滚动到底部并选择项目编号50,项目50保持选中状态,但ListBox跳回到列表的顶部,因此它显示项目1到15.这只发生在IE浏览器。如果我在FireFox中执行此操作,则仍会显示所选项目,它只是列表中最后一个可见项目,意思是项目15.有没有人知道这个的解决方案以及它为什么会发生?

谢谢, XaiSoft

3 个答案:

答案 0 :(得分:0)

尝试在Page指令(MaintainScrollPositionOnPostBack="true"

中设置<%@ page %>

答案 1 :(得分:0)

正在发生这种情况,因为当UpdatePanel更新时,它会删除所有现有内容(控件)并从服务器发送的HTML中重新创建它们。控件值包含在更新中,但滚动位置之类的内容则不包括在内。我能想到的唯一解决方案是使用javascript在回发之前记录滚动位置,然后在更新面板完成更新后恢复它。

答案 2 :(得分:0)

这个问题似乎已在这篇文章中得到解答:

Maintain scroll position in listboxes in updatepanels, NOT the page