【问题标题】:How to close a Modal popup from ASP.NET button click?如何从 ASP.NET 按钮单击关闭模态弹出窗口?
【发布时间】:2013-06-25 11:57:20
【问题描述】:

有没有办法通过单击弹出窗口的 aspx 文件上的服务器端按钮从代码隐藏中关闭模式弹出窗口?

我找到了可以在用户单击服务器端 ASP.NET 按钮时关闭非模态弹出窗口(即使用 window.open(...) 打开的弹出窗口)的代码,但该代码不适用于模态弹出窗口..

另外,请不要使用 jQuery,或任何其他 3rd 方库...

此外,该解决方案只需要在 Internet Explorer 上运行,因为该浏览器是在我们的域中使用的 .. 如果该解决方案无法在 Chrome、Firefox 等上运行,也没关系 ..

用于引发 Popup 的代码:

<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?
  • 这可能不能(而且绝对不应该)从服务器端代码完成。但是,如果新窗口是从客户端代码打开的,那么它也可以从客户端代码关闭(如引用的问题)。
  • @RohitKiran,我提供了加薪代码
  • 大家:这不是重复的 .. 相信我,我已经搜索了很远 .. 所有其他问题都与模态弹出窗口无关,就像我说的,我已经知道如何关闭

标签: javascript html asp.net


【解决方案1】:

你应该考虑大卫的 cmets。 无论如何,您可以按照@CodeMonkeyForHire 的说明添加window.close();,并在您希望关闭弹出窗口的点击事件末尾添加以下内容。

Response.Write("<script language='javascript'>self.close();</script>");

这应该可行。

【讨论】:

    【解决方案2】:

    window.close();

    只需返回一个包含它的脚本块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多