通常情况下,关闭窗口时不需要对父窗口做任何操作,但如果子窗口是某一对象的修改画面,这时,当关闭子窗体时就需要对父窗口刷新,刷新可以通过三种方式来实现: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>");