0

我已经制作了一个 .aspx 页面来上传图像文件。

第 1 页 - 从那里我在 js 中使用 window.open(小尺寸,如对话框)打开 Page2.aspx。

然后在第 2 页 Javascript 中,我有下面的 WindowRefresh() 函数来刷新第 1 页并关闭第 2 页(一旦文件上传完成)。

这就是我使用“window.opener.location.href”来引用父页面(第 1 页)的原因。

在第 2 页中,我有下面的 Windowrefresh() 函数来刷新父窗口,它将关闭上传对话框窗口。

 function Windowrefresh() {
        if (window.navigator.appName == "Netscape") {
            window.opener.location.href = window.opener.location.href;
            window.opener.location.reload(true);
            self.close();
        }
        else if (window.navigator.appName == "Microsoft Internet Explorer") {
            window.opener.location.href = window.opener.location.href;
            window.opener.location.reload(true);
            window.close();
        }
    }

现在,当一个会话变量具有某个值时,我想从第 2 页后面的代码中调用此函数。

我试过下面的东西。

ClientScript.RegisterStartupScript(this.GetType(), "key", "Windowrefresh();", true);

和,

Page.ClientScript.RegisterStartupScript(this.GetType(), "Call my function", "Windowrefresh()", true);

但它既不是刷新第 1 页也不是关闭第 2 页。

我不确定这有什么问题。

4

1 回答 1

0

做这样的事情..我没有测试过代码......在子窗口中

<body onunload="refreshParent();">

function refreshParent() {
  window.opener.location.href = window.opener.location.href;

  if (window.opener.progressWindow)

 {
    window.opener.progressWindow.close()
  }
  window.close();
}

当你有会话变量时关闭子窗口......(我不知道 asp 所以不能帮助你使用那种语法)

于 2013-08-14T12:16:19.900 回答