父页面使用AJAX,GridView放在UpdatePanel控件内:
打开新页面的方法(一)双击GridView的行:
                e.Row.Attributes.Add("ondblclick", "return window.showModalDialog('StockSerialNoAffirm.aspx?fchrstockreceiptid=" + stockreceiptid + "&fchrstockreceiptdetailid=" + stockreceiptdetailid + "',window,'dialogWidth=520px;dialogHeight=620px;dialogtop=30px;scroll=no;help=no;resizable=yes;statue=0;center=yes;edge=sunken');window.location.reload();");
打开新页面的方法(二)通过单子页面的Button按键打开(GridViewt行有CheckBox模板列,选中才能打开):
                for (int i = 0; i < this.GridStockSaleOutAffirmDetail.Rows.Count; i++)
                {
                    if (Convert.ToBoolean(((CheckBox)this.GridStockSaleOutAffirmDetail.Rows[i].Cells[0].FindControl("cbItem")).Checked == true))
                    {
                        string stockreceiptdetailid = ((Label)this.GridStockSaleOutAffirmDetail.Rows[i].Cells[10].FindControl("Lb_DetailId")).Text.Trim().ToString(); 
                        string stockreceiptid = ((Label)this.GridStockSaleOutAffirmDetail.Rows[i].Cells[12].FindControl("Lb_StockId")).Text.Trim().ToString();
                        ScriptManager.RegisterStartupScript(UpdatePanel1, typeof(UpdatePanel), "", "<script> window.showModalDialog('StockSerialNoAffirm.aspx?fchrstockreceiptid=" + stockreceiptid + "&fchrstockreceiptdetailid=" + stockreceiptdetailid + "',window,'dialogWidth=520px;dialogHeight=620px;dialogtop=30px;help=no;resizable=yes;statue=0;scroll=no;center=yes'); window.location.reload();</script>", false);
               
                    }
                
                }
在StockSerialNoAffirm.aspx页面上有button按键,点此按键关闭此页面。代码如下:
1、如果用:
  protected void cmdClose_Click(object sender, EventArgs e)
    {
        ScriptManager.RegisterStartupScript(UpdatePanel1, typeof(UpdatePanel), "", "<script language= 'javascript'>window.dialogArguments.location.replace(window.dialogArguments.location);window.close(); </script>", false);
            }

 protected void cmdClose_Click(object sender, EventArgs e)
    {
        ScriptManager.RegisterStartupScript(UpdatePanel1, typeof(UpdatePanel), "", "<script language= 'javascript'>window.dialogArguments.location.href=window.dialogArguments.location.href;window.close(); </script>", false);
            }
StockSerialNoAffirm.aspx页面关闭,但是又重新打开一个普通StockSerialNoAffirm.aspx的页面是刷新后的数据,还有一个未刷新的老页面,这样就存在两个页面。
2、如果用其它方法可以关闭页页,但是不会刷新StockSerialNoAffirm.aspx页面。
请高手指点。

解决方案 »

  1.   

    window.parent.localtion.reload()不行吗?
      

  2.   

    var sReturn=window.showModalDialog("" + id,'','dialogWidth:420px;dialogHeight:570px,center=yes,status=no,resizable=no,scroll=no,dialogHide=on');;
      在子页面
    function reload()
     {
      window.close();
      }加入 <base target="_self"/>  

    window.dialogArguments.window.location = window.dialogArguments.window.location; self.close();
      

  3.   

    不可以的,提示:window.parent.localtion为空或不是对象。
      

  4.   

    ---
    如果在父窗口进行了操作,如搜索.这时reload会提示重新操作吗?