【发布时间】:2017-08-12 06:34:22
【问题描述】:
我将 treeview 放在 div 中,以便我可以在 treeview 内滚动,但我现在面临的问题是,当我选择特定节点时,滚动条将移动到顶部位置而不是移动到选定节点位置
所以请帮我提供带有滚动条的树形视图,当用户选择任何节点时,滚动条应该移动到选定的节点位置。
请注意,我在更新面板中放置了树视图以避免在节点选择和展开时完成页面回发。
【问题讨论】:
标签: asp.net treeview scrollbar
我将 treeview 放在 div 中,以便我可以在 treeview 内滚动,但我现在面临的问题是,当我选择特定节点时,滚动条将移动到顶部位置而不是移动到选定节点位置
所以请帮我提供带有滚动条的树形视图,当用户选择任何节点时,滚动条应该移动到选定的节点位置。
请注意,我在更新面板中放置了树视图以避免在节点选择和展开时完成页面回发。
【问题讨论】:
标签: asp.net treeview scrollbar
将MaintainScrollPositionOnPostback 属性添加到您的页面。
【讨论】:
重新排列您的标记页面如下:
-- 面板(可滚动)。
--- 更新面板(有条件)
----树形视图
这种标记排列允许面板(或 div)滚动条独立于树视图中发生的任何部分页面更新;此外,您的面板不参与部分页面更新,因此面板滚动条的位置和尺寸不会改变。
【讨论】:
我通过获取包含树视图的 div 的滚动顶部值并在回发后将其设置回来解决了这个问题
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(ScrollUpB);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(ScrollUpE);
var scrollvalue;
function ScrollUpB() {
scrollvalue = $("#DivTreeview").scrollTop();
}
function ScrollUpE() {
$("#DivTreeview").scrollTop(scrollvalue);
}
【讨论】: