AjaxControlToolKit - ModalPopupExtender dans un ascx

Résolu
greedium Messages postés 27 Date d'inscription mercredi 30 mars 2005 Statut Membre Dernière intervention 7 août 2007 - 26 juin 2007 à 16:25
cs_jadjad Messages postés 3 Date d'inscription jeudi 15 avril 2004 Statut Membre Dernière intervention 30 octobre 2009 - 30 oct. 2009 à 14:51
Bonjour,

J'ai un problème dont je n'arrive pas à trouver de réference sur le Web...

J'ai un ModalPopup AJAX dans un UserControl (ascx) qui est lui meme dans un UpdatePanel de la page principale, mais lors de l'execution, le popup ne s'ouvre pas, il n'est pas retrouvé dans la page ...
En regardant le code source généré, j'ai remarqué que le script créant le popup en JS :
    Sys.Application.initialize();
    Sys.Application.add_init(function() { $create(AjaxControlToolkit.ModalPopupBehavior,  ...
n'était pas présent dans la page (généré en bas de page généralement)...

J'ai bien la balise dans l'ascx :
    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>

Et il est à noter que j'ouvre le popup en JS :
    popup = $find('ModalPopupType');
    popup.show();

Je ne comprend pas pourquoi le UserControl empeche de faire fonctionnait le popup ... Car a priori si je  met le popup directement dans la page parente, il fonctionne normalement...

Il semble que personne d'autres ne rencontre ce problème, alors je me demande si ce n'est pas ma page qui est particulière... Si quelqu'un a rencontré ce probleme, merci de me renseigner !

Et si quelqu'un à un exemple de ModalPopup Ajax dans un usercontrol qui fonctionne sans écrire de code dans la page parente, ça m'interesse fortement !

Merci d'avance !

4 réponses

cs_Yxion Messages postés 219 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 7 septembre 2009
26 juin 2007 à 23:01
Ce doit être un problème d'ID que le ModalPopup ne gère pas : Ton controle étant dans un UserControl, son id sera transformé et concaténé avec l'ID de ton UserControl sur ta form.... ce doit être ici que ca ne marche pas... quant à la solution, je ne sais pas, sauf ne pas mettre le controle dans un UserControl ou allez voir du coté de la source de ModalPopup et modifier ce dernier pour ton utilisation.... Mais je me trompe p-e quant à la source de ton pb.
3
greedium Messages postés 27 Date d'inscription mercredi 30 mars 2005 Statut Membre Dernière intervention 7 août 2007
26 juil. 2007 à 17:00
Merci ! C'était bien ça ... il renomme l'ID donnée au ModalPopUpExtender en rajoutant l'ID de l'ascx...
Il faut donc penser à rajouter l'ID de l'ascx en prefixe (avec un '_') pour  la fonction $find

ex:    popup = $find('IDASCX_ModalPopupType');
    popup.show();

Merci Beaucoup !
A+
0
cs_Ethan Messages postés 23 Date d'inscription mardi 22 janvier 2002 Statut Membre Dernière intervention 16 novembre 2009
30 janv. 2009 à 02:08
Utiliser le ClientID ou le UniqueID ne serait pas plus simple ?
0
cs_jadjad Messages postés 3 Date d'inscription jeudi 15 avril 2004 Statut Membre Dernière intervention 30 octobre 2009
30 oct. 2009 à 14:51
Bonjour!
G presque le mm problème sauf que moi j'essai d'ouvrir mon Modalpopup coté server par une sub dans le code behind du user control! et merci
0
Rejoignez-nous