关闭时调用C#方法的新窗口

时间:2015-09-29 14:03:03

标签: asp.net .net gridview webforms user-controls

我按下DoButton时会打开一个新窗口:

//mainform.aspx
protected void DoButton_Click(object sender, EventArgs e)
    {
        ScriptManager.RegisterStartupScript(this, typeof(string), "OPEN_WINDOW", "var Mleft = (screen.width/2)-(760/2);var Mtop = (screen.height/2)-(700/2);window.open('mypage.aspx?action=hello', null, 'height=500,width=900,status=yes,toolbar=no,scrollbars=yes,menubar=no,location=no,top=\'+Mtop+\', left=\'+Mleft+\'' );", true); 
    }

protected void IWillClose(){ //more code here...}

mypage.aspx有2个按钮:确认和取消。只要按下任何按钮,窗口就会关闭。

问题:是否有办法在此新窗口关闭时调用IWillClose();内的mainform.aspx

1 个答案:

答案 0 :(得分:0)

要验证页面是否即将关闭,您可以使用javascript事件,并调用服务器端代码使用PageMethods,如下面的代码。

window.onbeforeunload = closingCode;
function closingCode(){
   PageMethods.IWillClose();
}

不要忘记您需要在ScriptManager中添加EnablePageMethods = "true"