如何从代码后面关闭showmodaldialog窗口

时间:2014-03-04 06:18:55

标签: javascript asp.net vb.net modal-dialog

我打开这样的窗口

 var MyArgs = new Array(ParmA, ParmB, ParmC, ParmD, ParmE, ParmF);
var leftpost = getWindow_TotalWidth() - 1000 - 100;
var WinSettings1 = "dialogHeight:580px; dialogWidth:950px;edge:Raised; center:Yes; resizable:No; status: No;dialogLeft:" + leftpost + ";dialogTop:253px";
var MyArgs = window.showModalDialog("../Accounts/LedgerAdd.aspx?LedgerCode=" + MyArgs[1].toString().split("~")[0] + "&Popup=1", MyArgs, WinSettings1);

我想根据条件关闭窗口。我尝试了很多方法,比如

  If Not Convert.ToDecimal(HidOpeningBalance.Value) = Convert.ToDecimal(TxtOpeningBalance.Text) Then
            Dim LedgerID As Integer = Request.QueryString("LedgerCode")
            Dim dtTransactionCount As DataTable = Grid.GetDataTable("sp_checkForAnyTransaction", LedgerID)
            If dtTransactionCount.Rows.Count > 0 Then
                LblError.Text = "You can not change Opening Balance after transactions made on this ledger."

                Exit Sub
            Else
                Call FnUpdate()
                Page.ClientScript.RegisterStartupScript([GetType](), "Javascript", "javascript:CloseWindow();", True)

            End If
        Else
            LblError.Text = ""
            Call FnUpdate()
            Page.ClientScript.RegisterStartupScript([GetType](), "Javascript", "javascript:window.close();", True)
            'Response.Write("<script language='javascript'>self.close();</script>")

            'Page.ClientScript.RegisterStartupScript([GetType](), "Javascript", "javascript:CloseWindow();", True)

        End If

我的closeWindows函数是

  function CloseWindow() {
        window.close();         
    }

如果我在 onClientClick事件上调用该函数,则弹出窗口正在关闭。但是如果我尝试从后面的代码中关闭它,则窗口不会关闭。我已尝试过这三种方式(我已在我的代码中发表过评论)。

1 个答案:

答案 0 :(得分:1)

请在提供的链接中查看此解决方案。 http://forums.asp.net/t/993380.aspx?Close+Window+that+opens+with+window+showModalDialog 正如您将看到解决方案成为:

<base target="_self">