【发布时间】:2011-02-18 20:52:27
【问题描述】:
如何在部分回发后保持滚动条在 Ajax TabContainer 的选项卡面板中的位置?到目前为止,我尝试了以下脚本,但它不会检索位置。
<script type="text/javascript">
var xPos, yPos;
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_beginRequest(BeginRequestHandler);
prm.add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args) {
xPos = $get('<%=InputTabPanel.ClientID%>').scrollLeft;
yPos = $get('<%=InputTabPanel.ClientID%>').scrollTop;
}
function EndRequestHandler(sender, args) {
$get('<%=InputTabPanel.ClientID%>').scrollLeft = xPos;
$get('<%=InputTabPanel.ClientID%>').scrollTop = yPos;
}
</script>
【问题讨论】:
-
如果您不更新 TabContainer 的外部 UpdatePanel 而是更新 TabPanel 中的更新面板,则滚动条不应移动。
-
我在整个 TabContainer 周围只有 UpdatePanel。我会尝试用一个包裹 TabPanel,看看它是如何工作的。
-
显然你不能在 UpdatePanel 中包裹一个 tabpanel,只能包裹整个 TabContainer。除非有人知道怎么做。
-
在回发时,我也在更新更新面板之外的页面的其他部分。这还能保住位置吗?
-
您应该将 TabPanel 的内容包装在 UpdatePanel 中,而不是 TabPanel 本身。