ASP.NET GridView中鏈結打開模式窗口,當模式窗口關閉時,刷新父頁.

来源:互联网 发布:斗地主机器人算法 编辑:程序博客网 时间:2024/05/22 04:52

 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:/" onclick=/"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" onunload="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)
        {

        }
    }

原创粉丝点击