ModalPopup не отображается (ASP.NET/VB) - PullRequest
0 голосов
/ 08 июля 2011

Я не могу понять это. Я перепробовал все и выдернул волосы. Я не могу назвать это:

<asp:Button ID="Button3" runat="server" Text="Button" style="display: none;" />

<asp:ModalPopupExtender ID="ModalPopupExtender2" runat="server"
targetcontrolid="Button3" popupcontrolid="Panel1" 
popupdraghandlecontrolid="Popup2" drag="true" 
backgroundcssclass="ModalPopupBG">
    </asp:ModalPopupExtender>

<asp:Panel ID="Panel1" runat="server">
    <div class="HellowWorldPopup">
            <div class="PopupHeader2" id="Popup2">&nbsp;
            </div>
            <div class="Controls">
                <center><table border=0 cellpadding=0 cellspacing=0><tr><td><img src="Images/ajax-loader.gif" /></td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Please Wait...</td></tr></table></center>
            </div>
    </div>
</asp:Panel>

Используя это:

Protected Sub LoginButton_Click1(ByVal sender As Object, ByVal e As EventArgs)

    Me.ModalPopupExtender2.Show()
    System.Threading.Thread.Sleep(1000)
    Me.ModalPopupExtender2.Hide()

End Sub

Что, черт возьми, не так с моим кодом? Кнопка запускается, и когда я прохожу, я получаю «Нет исходного кода, доступного для текущего местоположения», когда она нажимает Me.ModalPopupExtender2.Show ().

Есть идеи?

Спасибо

Jason

1 Ответ

0 голосов
/ 08 июля 2011

Необходимо разрешить выполнение ответа на LoginButton_Click1 до того, как вы уложите поток в спящий режим и скроете всплывающее окно.Другими словами, выньте

System.Threading.Thread.Sleep(1000)
Me.ModalPopupExtender2.Hide()

Вам нужно будет использовать какой-то другой механизм, чтобы скрыть всплывающее окно после истечения времени ожидания.Один из распространенных способов - установить тайм-аут javascript на клиенте и закрыть его.

Функция тайм-аута javascript будет содержать такой код (убедитесь, что он находится после менеджера сценариев на странице).

var mpu = $find('ModalPopupExtender2');
mpu.hide();
...