C# javascript关闭不工作

C# javascript关闭不工作,c#,javascript,jquery,asp.net,C#,Javascript,Jquery,Asp.net,我有一个父web表单,在单击按钮时会打开一个子窗口 我需要做的是在子窗口仍然打开时直接关闭父窗体,子窗口也应该关闭 我已经为此编写了以下javascript var opengridacc; function OpenGridAccounts(companyId, checkRequestType, documentId) { var hdnDocumentId = $(document).find('#hdnDocumentId').val(); documentId =

我有一个父web表单,在单击按钮时会打开一个子窗口

我需要做的是在子窗口仍然打开时直接关闭父窗体,子窗口也应该关闭

我已经为此编写了以下javascript

var opengridacc;

function OpenGridAccounts(companyId, checkRequestType, documentId) {

    var hdnDocumentId = $(document).find('#hdnDocumentId').val();

    documentId = hdnDocumentId;  


    opengridacc = window.open("../CheckRequest/GridAccounts.aspx?comp_id=" + companyId
                                 + "&CheckRequestType=" + checkRequestType
                                 + "&DocumentId=" + documentId,
                             "GridAccounts",  "height=755px,width=1280px,center=yes,status=no,scrollbars=yes,toolbar=no,menubar=no,left=0,top=0");

    return false;

}



function closegrdacc() { 

    if(!opengridacc) {

        opengridacc.close();

    }

}

但ie给出了一个错误,即close未定义

更改closegrdacc,如下所示

函数closegrdacc(){
if(opengridacc!=null)
{opengridacc.close();
}
}

你能试试这个吗

if(opengridacc!=undefined) { opengridacc.close(); }

您应该检查评估是否为

function closegrdacc() {
    // this would return false if either opengridacc is null or undefined
    if(opengridacc) {
        opengridacc.close();
        opengridacc = null; // clean up for a new call
    }
}
此外,您可能还希望在打开时检查它是否已经存在

var opengridacc;

function OpenGridAccounts(companyId, checkRequestType, documentId) {
    if (opengridacc) // it has already been assigned a window
        return false;
    var hdnDocumentId = $(document).find('#hdnDocumentId').val();
    documentId = hdnDocumentId;  
    opengridacc = window.open("../CheckRequest/GridAccounts.aspx?comp_id=" + companyId +
                              "&CheckRequestType=" + checkRequestType +
                              "&DocumentId=" + documentId,
                              "GridAccounts",
                              "height=755px,width=1280px,center=yes,status=no,scrollbars=yes,toolbar=no,menubar=no,left=0,top=0"
                             );

    return false;

}

你是说如果(opengridacc)?用这个!操作员您正在检查opengridacc是否不存在!无法获取未定义或空引用的属性“close”是我得到的错误,即使我注释if条件,也会发生相同的错误您需要检查opengridacc是否存在,否则您将得到错误。再次尝试“if(opengridacc){…”当我刷新页面时,“opengridacc”将被取消定义。使用此代码,我将“opengridacc”设置为未定义