父页面使用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页面。
请高手指点。
打开新页面的方法(一)双击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页面。
请高手指点。
在子页面
function reload()
{
window.close();
}加入 <base target="_self"/>
或
window.dialogArguments.window.location = window.dialogArguments.window.location; self.close();
如果在父窗口进行了操作,如搜索.这时reload会提示重新操作吗?