如何在ASP.NET按钮点击时关闭模态弹出框?

3
有没有一种方式可以通过代码关闭模态弹出窗口,通过单击弹出窗口的aspx文件上的服务器端按钮?
我已经找到了可以在用户单击服务器端ASP.NET按钮时关闭非模态弹出窗口(即使用window.open(...)打开的弹出窗口)的代码,但是该代码在模态弹出窗口上不起作用。
此外,请不要使用jQuery或任何其他第三方库。
此外,解决方案只需要在Internet Explorer上运行即可,因为这是我们域中正在使用的浏览器。如果该解决方案无法在Chrome、Firefox等浏览器上运行,也没关系。
用于引发弹出窗口的代码:
<asp:Button ID="Button1" runat="server" Text="Button2" OnClientClick="basicPopup();return false;" OnClick="Button1_Click"/></td>

function basicPopup() 
{
    var strReturn = window.showModalDialog("TaxReportInputsForm.aspx", person,'status:no;dialogWidth:450px;dialogHeight:110px;dialogHide:true;help:no;scroll:yes');

    if(strReturn.okpressed == true)
    {
        ....
    }
    else
    {
        ....
    }
}

注意:

这不是重复问题...相信我,我已经搜遍了各个地方...所有其他问题都与非模态弹出窗口无关,就像我说的,我已经知道如何关闭


请提供用于弹出模态框的代码和HTML? - Rohit Kiran
可能是重复的问题:如何关闭浏览器窗口中的当前标签页? - David
1
这个操作可能无法(也绝不应该)从服务器端代码完成。但是,如果新窗口是由客户端代码打开的,则也可以通过客户端代码关闭它(如所引用的问题中所述)。 - David
@RohitKiran,我已经提供了raise代码。 - Ahmad
大家好:这不是重复的问题。相信我,我已经搜索了很多地方。所有其他问题都与非模态弹出窗口无关,就像我说的,我已经知道如何关闭它们。 - Ahmad
2个回答

1
你应该考虑David的评论。 总之,你可以像@CodeMonkeyForHire所说的那样添加window.close();,并在你希望关闭弹出窗口的点击事件结束时添加以下内容。
Response.Write("<script language='javascript'>self.close();</script>");

这应该可以工作。

0

window.close();

只需返回一个包含此内容的脚本块。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接