javascript - 如何关闭弹出窗口并在成功时将控制权返回到父页面

标签 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" />

最佳答案

给你....

这是为了打开弹出窗口....

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

关于javascript - 如何关闭弹出窗口并在成功时将控制权返回到父页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3634664/

相关文章:

javascript - jQuery 中的点击功能是否有可能等待 ajax 完成然后执行一些代码?

php - 带有 AJAX 的 jQuery UI 对话框第二次不运行单击功能

javascript - 通过 jquery 从附加的 div 传递函数值

asp.net - ASP.NET 中的缓存母版页

asp.net - Http 状态码 413

asp.net - 带有 EPPlus 2.9 的 Chrome 16 中出现“从服务器收到重复 header ”错误

jQuery AJAX 将成功数据分配给元素的值

javascript - javascript中的异步操作

javascript - jQuery XML 导出或简单 JavaScript 文件下载

javascript - Dojo 1.6 - 设置 Dijit.Select 按标签选择