保持向后滚动ajax模式弹出扩展器

时间:2012-08-31 05:28:35

标签: c# asp.net

我有以下网站结构。这是一个.net 3.5。

母版页 - >内容页面 - > Modal Pop up extender - >用户控制 - >面板 - >更新面板 - >格

div是所有表单元素的所在。现在,当我单击复选框或任何导致回发的按钮时,用户控件从顶部开始。它不保持回滚。我跑过一篇关于实现下面脚本的帖子,但这对我没什么帮助。有没有解决这个问题?

以下是我使用的脚本。

<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('div').scrollLeft;
    yPos = $get('div').scrollTop;
}
function EndRequestHandler(sender, args) {
    $get('div').scrollLeft = xPos;
    $get('div').scrollTop = yPos;
}

1 个答案:

答案 0 :(得分:0)

尝试将此添加到Javascript中的pageLoad部分,ModalPopupExtenders有一个“add_shown”函数,可用于滚动位置。

function pageLoad() {
var popup = $find('<%=MODALPOPUPEXTENDER.ClientID%>');
popup.add_shown(SetScrollPositionFunction);
}

在您的情况下,SetScrollPositionFunction将是EndRequestHandler。