2011-07-08 2 views
0

Je ne peux pas comprendre cela. J'ai tout essayé et je m'arrache les cheveux. Je ne peux pas sembler appeler ceci:ModalPopup ne s'affiche pas (ASP.NET/VB)

<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> 

En utilisant ceci:

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 

Ce qui, sur Terre, ne va pas avec mon code? Le bouton s'exécute, et quand je passe à travers je reçois un 'Il n'y a pas de code source disponible pour l'emplacement actuel' quand il atteint Me.ModalPopupExtender2.Show().

Des idées?

Merci,

Jason

Répondre

0

Vous devez permettre à la réponse au LoginButton_Click1 à remplir avant de mettre le fil pour dormir et se cacher la fenêtre. En d'autres termes, supprimez

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

Vous aurez besoin d'utiliser un autre mécanisme pour masquer la fenêtre après votre expiration. Une façon courante consiste à définir un délai d'attente JavaScript sur le client et à le fermer.

La fonction de délai d'attente javascript aurait un code comme celui-ci (assurez-vous que c'est après le scriptmanager sur la page).

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

C'était le ticket. Merci!!! –

Questions connexes