【问题标题】:How to refresh Child popup window from parent window?如何从父窗口刷新子弹出窗口?
【发布时间】:2014-03-31 08:09:01
【问题描述】:

我正在使用链接按钮上的此服务器代码从 asp.net 中的父窗口打开一个子弹出窗口..

myScript = "<script>window.open('frmAdvanceClaimPopup.aspx','frmAdvanceClaimPopup','height=400px, width=1024px,status= no,resizable= no, scrollbars=yes,toolbar=no,location=no,menubar=no'); </script>";

ScriptManager.RegisterStartupScript(this, this.GetType(), "pop", myScript, false);

但问题是我希望每次单击父页面上的调用链接按钮时都刷新子窗口。或者至少先关闭子页面,如果它已经打开,然后再次调用它。如何做到这一点?

更新

父页面: 例如: 我有 linkbutton 100 linkbutton 101 linkbutton 102

如果我单击 100,它会弹出一个显示 100 的窗口(使用会话)。 如果我关闭此子弹出窗口,然后单击父窗口上的 101,那么它将打开带有 101 的子窗口弹出窗口,这是正确的。 但是,如果我不关闭当前显示 101 但仍单击父级上的 102 的子级弹出窗口,则它不会在子级上显示 102,而是无论我单击哪个链接,它仍会显示旧值 101。

【问题讨论】:

  • 你称它为服务器端,所以当你点击链接按钮时它会被刷新
  • 它没有。对于 EG.. 我有 LINK BUTTON 100,LINK BUTTON 101 如果我点击 100,那么它会在子弹出窗口中显示 100,但是如果我在不关闭子弹出窗口的情况下点击 101,它仍然会在弹出窗口中显示 100
  • 如果你有代码它会在服务器端确保它不会在你之前的弹出窗口后面弹出
  • 每次点击链接按钮时是否调用这个RegisterSratupScript?
  • @Zane 是的,它每次都被调用。但是无论您单击多少次,都只会弹出一个窗口。查看我的更新以了解问题。

标签: c# javascript asp.net


【解决方案1】:

如果您有对弹出窗口的引用,您可以在单击链接按钮时通过单击事件或类似事件重新加载窗口。

var popup = window.open('frmAdvanceClaimPopup.aspx','frmAdvanceClaimPopup','height=400px, width=1024px,status= no,resizable= no, scrollbars=yes,toolbar=no,location=no,menubar=no') 

您需要确保该变量是可访问的,否则这将不起作用。

$( "#linkButton" ).click(function() {
  popup.location.reload(); 
});

【讨论】:

  • 我没有您在我的代码中看到的参考
  • 我找到了一种更简单的方法(我从你的回答中得出)..myScript = "&lt;script&gt;var popup = window.open('frmAdvanceClaimPopup.aspx','frmAdvanceClaimPopup','height=400px, width=1024px,status= no,resizable= no, scrollbars=yes,toolbar=no,location=no,menubar=no');popup.location.reload(); &lt;/script&gt;";
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-09
  • 2011-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多