通常情況下,關閉窗口時不需要對父窗口做任何操作,但如果子窗口是某一對象的修改畫面,這時,當關閉子窗體時就需要對父窗口刷新,刷新可以通過三種方式來實現: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>");