Вы можете использовать следующий скрипт:
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;
}
Если вы закроете всплывающее окно и откроете его снова без полной обратной передачи, это сохранит предыдущую позицию, но в следующий раз будет снова центрировано.