簡體   English   中英

如何關閉彈出窗口,並在成功時將控件返回到父頁面

[英]How to close a pop up window and return control to parent page on successs

我正在使用此代碼。單擊主頁上的一個按鈕時會彈出此彈出窗口。現在,我希望在成功更改密碼后重新加載彈出窗口,然后重新加載主頁,但是如果密碼沒有更改,然后再次刷新彈出窗口。 這是代碼.....

<asp:Textbox id="curnt_paswrd" textmode="Password" runat="server" size="30" />
<asp:Textbox id="new_paswrd" textmode="Password" runat="server" size="30" />

你去...

這是為了打開彈出窗口。

<html> 
<head>
    <script type="text/javascript">
      var passwordPopup;

      function popUpPassword()
      {
        passwordPopup = window.open("ChangePassword.aspx");

        window.onbeforeunload = function()
        {
          alert("yay I reloaded!");
          window.onbeforeunload = null;
        }
      }
    </script>
</head>
<body>
   <button onclick="popUpPassword();">Popup Password Change</button>
</body>
</html>

這用於重新加載主頁並關閉彈出窗口。

public partial class ChangePassword : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

  protected void SubmitPassword_Click(object sender, EventArgs e)
    {
      bool passwordChanged = true;

      if (passwordChanged)
      {

        // Get a ClientScriptManager reference from the Page class.
        ClientScriptManager cs = Page.ClientScript;

        // Check to see if the client script is already registered.
        if (!cs.IsClientScriptBlockRegistered(this.GetType(), "popUpPwScript"))
        {
          StringBuilder jscript = new StringBuilder();
          jscript.Append("<script type=\"text/javascript\">");
          jscript.Append("window.opener.location.reload(); window.close();");
          jscript.Append("</script>");
          cs.RegisterClientScriptBlock(this.GetType(), "popUpPwScript", jscript.ToString(), false);
        }
      }
      else
      {
        //do something else
      }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM