将MaintainScrollPositionOnPostBack 与CollapsiblePanelExtender 结合使用
在使用 CollapsiblePanelExtender 的页面上将MaintainScrollPositionOnPostBack 的页面指令设置为 true 时,一旦进行回发,页面将无法正确维护滚动位置。
我注意到,一旦进行回发,浏览器就会尝试在可折叠面板再次展开之前滚动到原始位置(因为它们以折叠状态加载,然后在客户端上展开) side),因此滚动位置要么根本不移动,要么只是部分移动。
我能想到的一个潜在解决方案是将受影响的面板包装在 UpdatePanel 中,以避免完全硬回发,但这并不是特别理想,因为此问题会影响多个屏幕。
When setting the Page directive for MaintainScrollPositionOnPostBack to true on pages with CollapsiblePanelExtenders, the page does not properly maintain the scrolling position once a postback is made.
I've noticed that once the postback is made, the browser attempts to scroll to the original position before the collapsible panels are expanded again (as they are loaded in a collapsed state, and then expanded on the client side), and so the scrolling position either does not move at all or it makes it only part way.
One potential solution I can think of is to wrap the affected panels in an UpdatePanel to avoid the hard postback altogether, but this is not particularly ideal since this issue affects multiple screens.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以将 CollapsiblePanelExtender 的状态捕获到 HiddenField 中,然后在回发期间处理 CollapsiblePanelExtender 服务器端的状态。
此处有一些示例。
You could capture the state of the CollapsiblePanelExtender into a HiddenField, then deal with the state of the CollapsiblePanelExtender serverside during the postback.
There are some examples here.