从父窗体(aspx)打开子窗体(aspx),子窗体完成某些操作自动关闭。原先的父窗体数据需要刷新,所以在子窗体关闭的同时需要刷新父窗体。
方法:
父窗体需要有刷新方法,并且有一个服务器控件(如LinkButton)事件调用此方法。
为父窗体的LinkButton控件在父窗体的Page_Load事件中添加LinkButton得到焦点时触发的事件:
Me.LinkButton2.Attributes.Add("onfocus", "javascript:__doPostBack('LinkButton2','');")
此句的意义是LinkButton2如果获取焦点,就调用LinkButton_Command事件的方法,从而调用你定义的刷新方法。
在子窗体中,在你执行关闭的方法中的最后加上以下代码:
Me.Response.Write("<script>window.opener.document.all('LinkButton2').focus();window.close();</script>")
此句的意义是父窗体的'LinkButton2'获取焦点,然后关闭当前窗体(子窗体)。
从而完成如题的功能。