为什么在弹出窗口中点击提交按钮时会打开新窗口?

时间:2010-06-28 11:13:46

标签: asp.net

嗨我打开这样的弹出窗口:

function openPopup() {
   RetVal = window.showModalDialog("chooseProducts.aspx", "", "dialogHeight: 330px; dialogWidth: 450px;scroll:no");
}

在弹出窗口中,当我单击此按钮时,将打开一个新窗口(包含弹出窗口):

<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="savingImpr" OnClientClick="window.close();"/> 

我尝试在这个新窗口之前关闭当前弹出窗口。但这个新窗口是显示的。 你能帮助我吗,谢谢你!

修改

我在弹出窗口中的widow.close之后尝试返回false,确定没有触发新窗口,但是Onclick事件没有调用。

<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="savingImpr" OnClientClick="window.close();return false;"/> 

有你的建议吗?

3 个答案:

答案 0 :(得分:3)

把这个:

<base target="_self"/>

在页眉中。

答案 1 :(得分:1)

你能试试window.open(....)吗?

修改 在打开父窗口时,将此类设置为父窗口,以使其类似于modalpopup行为

 .Background
    {
        position: relative;
        width: 100%;
        height: 100%;
        filter: alpha(opacity=40);
    }

更改课程$get('dvMain').className = 'Background';

答案 2 :(得分:0)

在弹出页面中,您需要在将关闭弹出页面的父页面上调用javaScript函数。

在父页面上:

function openPopup() {
   RetVal = window.showModalDialog("chooseProducts.aspx", "", "dialogHeight: 330px; dialogWidth: 450px;scroll:no");
}

function closePopup() {
    //find and close your window here
}

在弹出页面上:

<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="savingImpr" OnClientClick="window.parent.closePopup();"/>

编辑:您不应在onClientClick上调用window.parent.closePopup,而应在服务器端“保存”数据后动态添加javascript。