Скрытие родительского модального всплывающего окна в VB.NET / ASP / Ajax - PullRequest
0 голосов
/ 21 июня 2011

У меня есть модальный расширитель всплывающих окон в родительской форме (вызывается из дочернего aspx в iFrame). Я могу показать это по телефону

parent.ShowModal();

Это функция javascript на родительской странице, которая выполняет $ find ('ModalPopupExtender1'). Show ();

Отлично работает. Но теперь я обнаружил новую проблему.

После того как код VB завершен на дочерней странице, мне бы очень хотелось скрыть эту модальную форму. Не поймите меня неправильно, я ничего не имею против модальных всплывающих окон. Я скорее люблю их на самом деле. Просто моим пользователям было бы лучше, если бы они могли продолжать работать после того, как код VB (дочерняя страница) будет завершен. Я пытался

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

Но мне не повезло.

Любая помощь будет принята с благодарностью.

Спасибо

Jason

1 Ответ

0 голосов
/ 21 июня 2011

Хорошо, вот решение, которое я нашел (на случай, если кому-то еще это понадобится).

Не пытайтесь ссылаться на родительские элементы управления напрямую из VB.Вместо этого создайте функцию java в родительском aspx (например, так):

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

Затем создайте функцию java на дочерней странице aspx следующим образом:

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

Наконец, создайтеследующее в VB code-behind ребенка aspx

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

Работало довольно хорошо!

...