【转】Asp.net关闭弹出窗口刷新父窗口

通常情况下,关闭窗口时不需要对父窗口做任何操作,但如果子窗口是某一对象的修改画面,这时,当关闭子窗体时就需要对父窗口刷新,刷新可以通过三种方式来实现:1,采用window.opener.location.reload(true);刷新父窗口,但是,如果父窗口之前点过某一个按扭或其它控件,此时时常会跳出来一个提示框,非常烦人,这时候,如果页面上有一个功能按钮,我们就可以利用window.opener.__doPostBack('ctl00$contentPlaceHolder1$bt_query','');在父窗口上运行某个事件,就不会弹出烦人的提示框,或者,采用window.opener.location='role.aspx?worksid=1';将网页指向到新的网址,当然可以是自己本身,等于重新加载了本页,也不会出提示框。

      A.关闭,不执行任何操作      

    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "close", "<script language='javascript' type='text/javascript'>window.close();</script>");

      B.关闭并将父窗体转到目标网址      

    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "close", "<script language='javascript' type='text/javascript'>window.opener.location='role.aspx?worksid=1';window.close();</script>");

      C.关闭并刷新父窗体          

    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "close", "<script language='javascript' type='text/javascript'>window.opener.location.reload(true);window.close();</script>");

      D.关闭并执行父窗体上的控件事件      

    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "close", "<script language='javascript' type='text/javascript'>window.opener.__doPostBack('ctl00$contentPlaceHolder1

    $bt_query','');window.close();</script>");

原文地址:http://www.cnblogs.com/xieon1986/archive/2013/11/28/3447618.html

posted @ 2017-01-01 14:36  苏迁时  阅读(3213)  评论(0编辑  收藏  举报