我在更新面板中有一个列表框.当我向下滚动并选择一个项目时,它会滚动回列表框的顶部.我听说dom没有跟踪回发上的滚动位置.有没有人有解决方案/示例如何解决这个问题?
谢谢,XaiSoft
您遇到了这个问题,因为当异步请求返回时,UpdatePanel
完全用新的元素替换您的滚动元素.
可能的解决方案:
在提交之前(通过调用方法)使用JavaScript scrollTop
将元素的属性存储在隐藏的表单元素中,然后在AJAX调用返回时将其设置为新元素.这将是乏味的,容易出错,并且可能不太兼容(参见此处).
UpdatePanel
ClientScriptManager.RegisterOnSubmitStatement
使用JavaScript来存储的
selectedIndex
财产,当Ajax调用回来重新选择该项目.显然,如果用户尚未选择任何内容,这将无效.
不要使用UpdatePanel
s.请尝试使用 jQuery + ASP.NET页面方法.