ASP.NET打開模式窗口,當模式窗口關閉時,刷新父頁.
1.使用Javascript: showModelessDialog打開模式窗口
JS代碼:
function showDialog(url, width, height)
{
showModelessDialog(url, window, 'dialogWidth:' + width + 'px;dialogHeight:' + height + 'px;center:yes;status:no;scroll:yes;help:no');
}
2.在GridView RowDataBound事件添加Link代碼
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
ID = e.Row.Cells[1].Text.ToString().Replace(" ", "").Trim();
if (ID.Length > 0)
{
//添加DT以免緩存影響
string JS = "View.aspx?ID=" + ID + "&DT=" + DateTime.Now.ToString("yyyyMMddHHmmss");
e.Row.Cells[2].Text = "<a href=/"javascript:/" οnclick=/"javascript:showDialog('" + JS + "',800,590);/">I</a>";
e.Row.Cells[2].ToolTip = "Open By ID";
}
}
}
3.在模式窗口Head中添加清除緩存代碼
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<base target="_self" />
4.Body添加關閉模式窗口時執行JS代碼,執行父頁Button事件
body style="margin: 0px" οnunlοad="ref();"
function ref()
{
if(window.dialogArguments != null)
{
//window.dialogArguments.location.reload(true);
//dialogArguments.location.replace(dialogArguments.location);
dialogArguments.document.getElementById("btnQuery").click();
//window.close();
}
}
5.父頁Button click事件
protected void btnQuery_Click(object sender, EventArgs e)
{
try
{
Bind();
}
catch (Exception ex)
{
}
}