在VB.NET / ASP / Ajax中隐藏父模式弹出窗口

时间:2011-06-21 15:25:51

标签: asp.net ajax vb.net modality

我在父窗体上有一个模式弹出扩展器(从子窗口调用,在iFrame中调用)。我可以通过调用

来显示它
parent.ShowModal();

在父页面上执行$ find('ModalPopupExtender1')的javascript函数.show();

效果很好。但现在我发现了一个新问题。

VB代码隐藏完成后在子页面上执行后,我真的想要隐藏该模态窗体。不要误会我的意思,我没有反对模态弹出窗口。事实上,我更喜欢他们。只是我的用户希望在VB代码隐藏(子页面)完成执行后继续工作时能够更好。我试过了

ParentForm.ModalPopupExtender1.Hide()
Top.ModalPopupExtender1.Hide

但我没有运气。

非常感谢任何帮助。

谢谢,

杰森

1 个答案:

答案 0 :(得分:0)

好的,这是我找到的解决方案(如果有其他人需要的话)。

不要试图直接从VB引用父控件。相反,在父aspx中创建一个java函数(如下所示):

function HideModal()
    {$find('ModalPopupExtender1').hide();}

然后,在子aspx页面中创建一个java函数,如下所示:

function HideModal()
    {parent.HideModal();}

最后,在子aspx的VB代码隐藏中创建以下内容

        strScript = "<script language=" & Chr(34) & "javascript" & Chr(34) & " id=" & Chr(34) & "MyClientScript" & Chr(34) & ">HideModal();</script>"
        ClientScript.RegisterStartupScript(Me.GetType(), "HideModal", strScript)

工作得很好!

相关问题