前段时间我向各位朋友问了个点击datalist里的链接并弹出一个窗口b.aspx的问题,弹出窗口上有个新闻的发布按钮,点击后弹出窗口b.aspx关闭并刷新父页面,父页面的新闻状态变为未发布,这些问题都解决了,但是又出现个问题---当父页面的新闻发布状态为已发布时,我先点击取消发布新闻的按钮(datalist上绑定的linkbutton控件)把新闻状态变为未发布, 然后再点击链接并弹出页面b.aspx的发布新闻按钮(当状态为未发布时这个按钮可见),本来该执行的是b.aspx关闭并刷新父页面,但是却弹出黄色对话框:         要再次显示该网页,internet explorer需要
                重新发送您以前提交的信息.
             如果你正在交易,应点机"取消"以避免重复交易,
             否则,单击"重试"再次显示该网页.

解决方案 »

  1.   

    刷新的脚本用location.href=location.href;不要用location.reload();
      

  2.   

    更新父窗体:
    Response.Write("<script language=@#javascript@#>window.opener.location=window.opener.location.href;</script>")你说的现象是不是重复提交了?或是别的,最好能帖出代码帮你分析分析
      

  3.   

    感谢各位的回复,请帮我看看
    这是弹出窗口b.aspx的发布新闻按钮的处理事件代码:
    protected void Button1_Click(object sender, EventArgs e)
        {
            string sqlStr = "update W_TvNews set IsChecked='"+1+"' where Id='"+Convert.ToInt32(Request.QueryString["nid"])+"'";
            DataBase db = new DataBase();
            db.GetExecuteNonQuery(sqlStr);
            Response.Write("<script>alert('发布成功!');"+ "opener.location.reload();"+ "self.close();"+ "</" + "script>");
    }
      

  4.   


    Response.Write(" <script> alert('发布成功!');"+ "opener.location.reload();"+ "self.close();"+ " </" + "script> "); 
    改为Response.Write(" <script> alert('发布成功!');"
    + "opener.location.href=opener.location.href;"+ "self.close();"+ " </" + "script> ");  
      

  5.   

    用location.href=location.href;
    这个是强制刷新页面,而不会弹出对话框!
      

  6.   

    不好意思Sandy945  用你的方法关闭b.aspx后父页并不刷新,要再刷新一次后才能显示出效果(比如取消发布按钮变未可见)