2009-06-29 10 views
0

J'ai un extendeur de popup modal lié à un contrôle asp: panel que je veux montrer quand le timer sur un asp: updatepanel reloads exécute la méthode tick. La méthode de la tique appelle une autre méthode qui vérifie les conditions spécifiques et si toutes les conditions sont remplies, j'appelle:ASP.NET AJAX Modal Popup Extender Répondre au code du serveur à la minuterie

ClientScript.RegisterClientScriptBlock(this.GetType(), "key", "$find('modalPopupExtender').show();", true); 

Je le TargetControlID sur le contrôle d'extension mis à l'asp: UpdatePanel. Jusqu'à présent, cela n'apparaît pas dans la fenêtre modale.

Devrais-je avoir le TargetControlID défini sur le contrôle de minuterie à l'intérieur de l'asp: updatepanel ???

Qu'est-ce qui me manque?

+0

Pourriez-vous poster plus de code? En outre, l'extendeur de popup modal est-il dans le panneau de mise à jour? Si non, essayez de le déplacer à l'intérieur. Troisième question, avez-vous utilisé un débogueur js (comme outil de développement IE8, firbug pour firefox) pour vérifier que le javascript est écrit et ensuite exécuté mise à jour du panneau de mise à jour? – alanquillin

Répondre

0

J'ai essayé les réponses ci-dessus et suggestions. J'ai trouvé que mettre une balise dummy div sur la page avec le "runat" défini sur le serveur et la définition TargetControlID du contrôle d'extension à la DIV factice aidé. J'ai également commenté le code ClientScript et ajouté modalPopupExtender.Show(). Cela a permis à la fenêtre modale d'être affichée.

+0

dummy div ou un champ caché fictif est ce que j'utilise. –

0

pour être sûr, je pourrais changer votre troisième paramètre:

String.Format("$find('{0}').show();",modalPopupExtender.ClientId)