在ASP更新面板中维护ASP列表框的滚动位置

问题描述:

我在一个asp更新面板中有4个asp列表框。该网站是一个使用vb.net的webforms项目。这些列表框充当数据库表的过滤器。当你点击第一个列表框时,它会更新与选择相关的剩余列表框。您也可以在这些列表框内多选项目。这个非常重要。在ASP更新面板中维护ASP列表框的滚动位置

当您选择多个项目时,列表框的滚动位置重置为顶部时会出现问题。假设您选择了最上面的项目,然后向下滚动到第14项,然后按住Ctrl并单击以选择这两项。那么这会导致列表框的滚动位置在由更新面板过滤剩余列表框后发生的部分回发之后重置到顶部。正如你可以想象的,这可能会让我的客户非常讨厌。

我见过其他解决方案来维护更新面板的滚动位置,但不是更新面板内的控件。有任何想法吗?

我回答了我自己的问题。我所做的就是利用更新面板的触发功能,并将最后3个列表框包含在他们自己的更新面板中。

第一个列表框不需要在更新面板中,因为它的内容不需要根据其余列表框内容的选择而改变。第二个列表框包含在它自己的更新面板中,并且只为第一个列表框添加了一个异步回发触发器。对于第三个和第四个列表框,我也将它们包含在它们自己的更新面板中,并分别为每个前面的控件添加了异步触发器(所以在第三个列表框更新面板上,我为前面的控件添加了2个异步触发器,第四个列表框更新面板上的前面的控件)。

希望这可以帮助别人!