Ajax Toolkit - 内部更新面板刷新后重置模态弹出位置

时间:2011-10-21 13:37:41

标签: c# updatepanel modalpopupextender

我有一个可以拖动和移动的模态弹出窗口。它还包含一个ajaxUpdatePanel来更新其中的某些元素。

我的问题是,如果模态弹出窗口被移动并且更新面板触发,则弹出窗口将弹回中心位置。什么都没有打破,这对最终用户来说很烦人。

任何线索?

1 个答案:

答案 0 :(得分:0)

您可以使用以下脚本:

var x = null;
var y = null;

Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(InitializeRequest);
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded);

function pageLoaded(sender, args) {
     var extender = $find("ModalPopupExtender1"); // extender's  BehaviorID
     if (extender != null && x != null && y != null) {
          extender.set_X(parseInt(x));
          extender.set_Y(parseInt(y));
     }
}

function InitializeRequest(sender, args) {
     var extender = $find("ModalPopupExtender1");  // extender's BehaviorID
     x = extender._foregroundElement.style.left;
     y = extender._foregroundElement.style.top;
}

如果您关闭弹出窗口并在没有完全回发的情况下再次打开它,它将保存以前的位置,但下次它将再次居中。