Javascript 如何在成功时关闭弹出窗口并将控件返回到父页面

Javascript 如何在成功时关闭弹出窗口并将控件返回到父页面,javascript,asp.net,ajax,popup,Javascript,Asp.net,Ajax,Popup,我正在使用此代码。当我单击主页上的按钮时,会弹出此弹出窗口。现在,如果成功更改密码并重新加载主页,我希望关闭弹出窗口,但如果密码未更改,则再次刷新弹出窗口。 这是代码 <asp:Textbox id="curnt_paswrd" textmode="Password" runat="server" size="30" /> <asp:Textbox id="new_paswrd" textmode="Password" runat="server" size="30" />

我正在使用此代码。当我单击主页上的按钮时,会弹出此弹出窗口。现在,如果成功更改密码并重新加载主页,我希望关闭弹出窗口,但如果密码未更改,则再次刷新弹出窗口。 这是代码

<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
      }
    }
}
这用于重新加载主页并关闭弹出窗口

<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
      }
    }
}
给你

这是用来打开弹出窗口的

<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
      }
    }
}
这用于重新加载主页并关闭弹出窗口

<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
      }
    }
}

这个弹出窗口,仅仅是您使用Windows打开的新浏览器窗口。打开?这个弹出窗口,仅仅是您使用Windows打开的新浏览器窗口。打开?