我打开这样的窗口
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事件上调用该函数,则弹出窗口正在关闭。但是如果我尝试从后面的代码中关闭它,则窗口不会关闭。我已尝试过这三种方式(我已在我的代码中发表过评论)。
答案 0 :(得分:1)
请在提供的链接中查看此解决方案。 http://forums.asp.net/t/993380.aspx?Close+Window+that+opens+with+window+showModalDialog 正如您将看到解决方案成为:
<base target="_self">