我有一个带有 MultiView 控件的页面,其中一些视图的长度足以滚动。由于评论中的许多控件需要回发才能正常运行,因此在页面上启用了 MaintainScrollPositionOnPostBack。
当用户从一个视图转换到另一个视图时,我遇到了问题。如果它们位于长视图的底部,并转换到另一个长视图,则新视图会加载并一直滚动到底部。当用户转到 MultiView 中的新视图时,我需要跳转到页面顶部。
我尝试使用 OnActiveViewChanged 事件: - 调用 RegisterStartupScript 将 window.location.hash 设置为我放置在页面顶部的锚点。- 调用 RegisterStartupScript 来调用 window.scrollTo(0,0) - 暂时将 MaintainScrollPositionOnPostBack 设置为 false
问题是这些似乎都不会影响实际的过渡回发,它们会在下一次回发时生效,这实际上会导致更大的问题。
任何人都有一种行之有效的方法让 MultiView 页面仅在转换到新视图的回发时跳转到页面顶部?