0

親フォームにモーダルポップアップエクステンダーがあります(子から呼び出されたaspxはiFrameにあります)。電話で見せることができます

parent.ShowModal();

これは、$ find('ModalPopupExtender1')。show();を実行する親ページのJavaScript関数です。

それは素晴らしい働きをします。しかし今、私は新しい問題を発見しました。

子ページでのVBコードビハインドの実行が終了したら、そのモーダルフォームを非表示にします。誤解しないでください、私はモーダルポップアップに反対するものは何もありません。私はむしろそれらが実際に好きです。VBコードビハインド(子ページ)の実行が終了した後も作業を継続できれば、ユーザーはもっと良いことを望んでいます。私は試した

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

しかし、私は運がありませんでした。

どんな助けでも大歓迎です。

ありがとう、

ジェイソン

4

1 に答える 1

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)

かなりうまくいきました!

于 2011-06-21T16:02:47.737 に答える