如何关闭弹出窗口并将成功返回到父页面

问题描述:

我正在使用此代码。当我单击主页上的一个按钮时弹出窗口弹出。现在我想弹出窗口关闭如果密码成功更改并重新加载主页面,但如果密码未更改,则再次刷新弹出窗口。 下面是代码.....如何关闭弹出窗口并将成功返回到父页面

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

+0

这个弹出窗口,它只是一个使用window.open()打开的新浏览器窗口吗? – CyberDude 2010-09-03 10:29:14

+0

我的回答有帮助吗? – hyprsleepy 2010-09-15 17:53:50

这里亚去....

这是打开弹出....

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