关于子窗口关闭同时刷新父窗口问题详解

1.使用window.open方法打开窗口--父窗口 

     <a  href='#' onclick="window.open('../Public/LocationDetails.aspx?AppLocationID=<%#Eval("AppLocationID")%>&status=<%=ViewState["status"].ToString()%>&appID=<%=ViewState["appID"].ToString()%>','','height=400,width=650,top=200,left=300')"details<a>

2.使用Response.write()关闭并刷新父窗口

  首先如果你父页面中,提交过,有本页提交,即IsPostBack = ture .那么子窗体中用javascript 的window.opener.location.reload();方法就会出现IE讨厌的网页刷新重试按钮。

3.解决方法:

1. 在父窗口加上:<%@ page smartNavigation=true >和这句  <%@ OutputCache Location="None" %>

2.子窗口用:

后台写的:

 string script = "<script>function successClick(){if(confirm('Process completed successfully,Do you want to close the window?')){window.opener.location.href = window.opener.location.href;";
           script=script+"window.opener.location.reload();window.close();}}successClick();</script>";
           Page.RegisterStartupScript("scriptInfo",script);


这样的话数据不会重复提交,也不会出现讨厌的网页刷新重试按钮。

 

你可能感兴趣的:(问题)