begin process at 2012 05 28 02:41:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Web 2.0

 > 

Atlas

 > 

ModalPopupExtender et AsyncPostBackTrigger


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ModalPopupExtender et AsyncPostBackTrigger

mercredi 7 mars 2007 à 09:22:48 | ModalPopupExtender et AsyncPostBackTrigger

JulienV

Bonjour

N'est il pas possible d'appeler de faire un appel asynchrone à du code behind depuis un ModalPopup?
Le code ci dessous fonctionne avec:
< asp : PostBackTrigger ControlID ="OkCtx"
/>

mais j'ai une erreur javascript (Sys.InvalidOperationException: Handler was not added through the Sys.UI.DomEvent.addHandler method ) si j'utilise à la place
< asp : AsyncPostBackTrigger ControlID ="OkCtx" EventName ="Click" />

Du coup toute la page clignote lorsque je clique sur le bouton OkCtx. Cela fonctionnait pourtant bien dans une version précédente du toolkit (je n'ai malheureusement pas repéré à partir de quel moment cela n'a plus marché...)

<asp:UpdatePanelID="up1"runat="server"UpdateMode ="Always">
   < ContentTemplate
>
      < asp : LinkButton ID ="Submit" runat ="server"   Text ="Submit"></ asp : LinkButton >
< ajaxToolkit : ModalPopupExtender ID ="mpeSubmit" runat ="server" TargetControlID ="Submit" popupControlID ="pContext" />
      (...)
   </ ContentTemplate
>
</ asp : UpdatePanel >

<asp:UpdatePanelID="up2"runat="server"UpdateMode ="Conditional">
   < ContentTemplate >
      
// Partie à rafraichir
      
(...)
   </ ContentTemplate
>
   
< Triggers >
      < asp : PostBackTrigger ControlID ="OkCtx" />
   
</ Triggers >
</ asp : UpdatePanel >

<asp:UpdatePanelID="up3"runat ="server">
   < ContentTemplate
>
      < asp : Panel ID ="pContext" runat ="server" Style ="display: none;" >
         
(...)
         
< asp : Button ID ="OkCtx" OnClick ="Submit_Click" runat ="server" Text ="Ok"></ asp : Button >
      
</ asp : Panel >
   
</ ContentTemplate
>
</ asp : UpdatePanel >

mercredi 7 mars 2007 à 15:55:22 | Re : ModalPopupExtender et AsyncPostBackTrigger

jesusonline

Membre Club Administrateur CodeS-SourceS
Je viens de tester ce code :

            <asp:ScriptManager ID="SC1" runat="server" />
            <asp:UpdatePanel ID="up1" runat="server" UpdateMode="Always">
                <ContentTemplate>
                    <asp:LinkButton ID="Submit" runat="server" Text="Submit"></asp:LinkButton>
                    <toolkit:ModalPopupExtender ID="mpeSubmit" runat="server" TargetControlID="Submit"
                        PopupControlID="pContext" />
                </ContentTemplate>
            </asp:UpdatePanel>
            <asp:UpdatePanel ID="up2" runat="server" UpdateMode="Conditional">
                <ContentTemplate>
                    <%=DateTime.Now.ToLongTimeString() %>
                </ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="OkCtx" />
                </Triggers>
            </asp:UpdatePanel>
            <asp:UpdatePanel ID="up3" runat="server">
                <ContentTemplate>
                    <asp:Panel ID="pContext" runat="server" Style="display: none;width:300px;height:200px; background-color:#F0F;">
                        <asp:Button ID="OkCtx" runat="server" Text="Ok"></asp:Button>
                    </asp:Panel>
                </ContentTemplate>
            </asp:UpdatePanel>

et ca marche correctement ! j'ai la version du 1er mars des toolkits


Cyril - MSP - MCTS ASP.net & SQL
mercredi 7 mars 2007 à 17:45:14 | Re : ModalPopupExtender et AsyncPostBackTrigger

JulienV

Le problème a lieu quand du code est executé coté serveur suite à un clic sur le bouton OkCtx (OnClick ="Submit_Click").

mercredi 7 mars 2007 à 18:00:11 | Re : ModalPopupExtender et AsyncPostBackTrigger

jesusonline

Membre Club Administrateur CodeS-SourceS
Que fait le code ?


Cyril - MSP - MCTS ASP.net & SQL
mercredi 7 mars 2007 à 18:16:42 | Re : ModalPopupExtender et AsyncPostBackTrigger

JulienV

Un appel à une procédure stockée en base puis une mise à jour de ce qu'il y a dans l'UpdatePanel up2 (dans mon cas un GridView).

mercredi 7 mars 2007 à 18:23:35 | Re : ModalPopupExtender et AsyncPostBackTrigger

JulienV

Mais je viens de le vérifier: l'erreur a lieu même si la méthode Submit_Click ne fait rien...

mercredi 7 mars 2007 à 18:26:40 | Re : ModalPopupExtender et AsyncPostBackTrigger

jesusonline

Membre Club Administrateur CodeS-SourceS
et le code que j'ai testé fonctionne chez toi ?


Cyril - MSP - MCTS ASP.net & SQL
lundi 12 mars 2007 à 19:04:14 | Re : ModalPopupExtender et AsyncPostBackTrigger

JulienV

Oui, le code que tu as testé fonctionne, mon exemple n'était pas bon...
J'ai finalement isolé le code qui plante vraiment, le voici ci-dessous.

Pour reproduire le problème, cliquer sur Submit puis sur Test.

J'ai au passage trouvé 2 solutions pour corriger ce code:
1) changer l'UpdateMode de l'UpdatePanel "upDetail" en "Always" (solution qui ne m'arrange pas)
2) Déplacer le Panel "pInfo" dans l'UpdatePanel "upDetail"


< asp : ScriptManager ID ="ScriptManager1" runat ="server"> </ asp : ScriptManager >

< asp : UpdatePanel ID ="upAction" runat ="server" UpdateMode ="Always">
   < ContentTemplate >
      
< asp : Button ID ="Submit" runat ="server" Text ="Submit"></ asp : Button >
      
< toolkit : ModalPopupExtender ID ="mpeSubmit" runat ="server" TargetControlID ="Submit" PopupControlID ="pContext" />
   
</ ContentTemplate >
</ asp : UpdatePanel >

< asp : UpdatePanel ID ="upDetail" runat ="server" UpdateMode ="Conditional">
   
< ContentTemplate >
      
< asp : Button ID ="Info" runat ="server" Text ="Info" />
      
< toolkit : ModalPopupExtender ID ="mpeInfo" runat ="server" TargetControlID ="Info" PopupControlID ="pInfo" CancelControlID ="Close" />
   
</ ContentTemplate >
   
< Triggers >
      
< asp : AsyncPostBackTrigger ControlID ="Test" EventName ="Click" />
   
</ Triggers >
</ asp : UpdatePanel >

< asp : UpdatePanel ID ="upList" runat ="server" UpdateMode ="Conditional">
   
< ContentTemplate >
      
< asp : Button runat ="server" ID ="Test" Text ="Test" OnClick ="Test_Click" />
   
</ ContentTemplate >
   
< Triggers >
      
< asp : AsyncPostBackTrigger ControlID ="Submit" EventName ="Click" />
   
</ Triggers >
</ asp : UpdatePanel >

< asp : UpdatePanel ID ="ModalPopup" runat ="server">
   
< ContentTemplate >
      
< asp : Panel ID ="pContext" runat ="server" Style ="display: none; width: 300px; height: 200px; background-color: #DDDDDD;">
         
< asp : LinkButton ID ="Ok" runat ="server" Text ="Ok" OnClick ="Submit_Click"></ asp : LinkButton >
      </ asp : Panel >
      
< asp : Panel ID ="pInfo" runat ="server" Style ="display: none; width: 300px; height: 200px; background-color: #DDDDDD;">
         
< asp : LinkButton ID ="Close" runat ="server" Text ="Close"></ asp : LinkButton >
      
</ asp : Panel >
   </ ContentTemplate >
</ asp : UpdatePanel >

Merci pour ton aide...
mardi 13 mars 2007 à 01:23:20 | Re : ModalPopupExtender et AsyncPostBackTrigger

jesusonline

Membre Club Administrateur CodeS-SourceS
ok, j'ai reproduis et j'ai compris mais je tente meme pas d'expliquer car dans ma tete c'est tout emmelé, il est tard et je suis fatigué. En gros ca vient de ton CancelControlID de ton mpeInfo, quand tu clicks sur le bouton Test, il fait un refresh de celui-ci, donc il va dispose l'ancien pour en créer un nouveau. Pour éviter les fuites mémoires lors du dispose il faut désabonner les events, donc le mpe va se désabonner de l'event click sur le bouton d'id Close. Sauf que lui a été rafraichis via UpdatePanel donc il n'est pas abonné à cet événement là, et la méthode $removeHandler (ainsi que $clearHandlers) sont stupide à ce niveau là, car si on a pas abonné d'event avec le $addHandler(s) alors il jette une exception. Pour moi c'est donc un (des) bugs de la librairie cliente, tu peux alors essayer de le remonter sur le forum www.asp.net ou directement à Bertrand Leroy (google bleroy : le créateur de la version cliente) mais je garantis pas le succés. Ce bug peut aussi être corrigé au niveau des toolkits meme si je trouve pas ca très propre, donc tu peux aussi le remonter sur codeplexe.

Enfin, si t'as besoin d'une solution urgente, je te donnerais une astuce grosse bidouille bien crade.


Cyril - MSP - MCTS ASP.net & SQL
mardi 13 mars 2007 à 08:59:15 | Re : ModalPopupExtender et AsyncPostBackTrigger

JulienV

"si t'as besoin d'une solution urgente, je te donnerais une astuce grosse bidouille bien crade"

Et que penses tu des 2 contournements que j'ai évoqués?

1 2

Cette discussion est classée dans : asp, server, runat, contenttemplate, okctx


Répondre à ce message

Sujets en rapport avec ce message

Datagrid qui me rend fou [ par MOOKIES ] Salut,bon je vais essyer d'être clair. J'EN ES MARRE sa marche pas, là rien d'original. En fait je veut utiliser la commande Delete d'un Datagrid (bas Calcul de l'âge dans un datalist [ par Alain37Mtl ] Mon application web affiche la liste des membres et je voudrais afficher l'âge de chacun au lieu de leur date de naissance. Protected <FONT color=#000 Atlas, popup calendar [ par cnguyen ] Pour l'utilisation d'atlas, j'ai un petit souci, il me dit :Extender controls require a ScriptManager to be present on the page.Nom du paramètre : scr récupérer la sélection d'1 DDL pour faire une insertion dans 1 BDD [ par bootchoz ] salut et merci pour votre aide !!!j'ai créér un formview avec un isertItemTemplate qui contient :2 textbox rattachées à une meme table, 1 DDL rattaché CS0123: No overload for 'OK_Click' matches delegate 'System.EventHandler' [ par bootchoz ] salut,ce message d'erreur apparait : CS0123: No overload for 'OK_Click' matches delegate 'System.EventHandler' lorsque je compile.voila mon code de ma ModalPopupExtender commun à plusieurs contrôles [ par JulienV ] Bonjour Je voudrais associer un ModalPopupExtender à plusieurs LinkButton en utilisant le même Panel mais lorsque je fais cela, le script de la propri gridview et procedure stockee [ par rmelon ] Bonjour, J'ai une page compose d'une SqlDatasource dont la SelectCommand est une procédures stockees renvoyant plusieurs lignes en fonction de plusieu UpdatePanel Ajax [ par liliemumue ] BonjourAlors je vais expose rmon probleme.J'ai un formulaire dans lequel j'ai une DropDownList et troie panel à Visible =false.Lors de la selection d' pb de recupération de paramétre [ par babylonne ] Bonjour tt le monde, j'ai un petit souci par rapport au fichier resultat.aspx c-à-d quand je transmets mes paramétres depuis le fichier info.aspx , il Problème de récupération de paramétres [ par babylonne ] Bonjour tt le monde, voilà , j'ai un petit souci par rapport à la récupération de mes paramétres  sachant que tout est correct , je ne comprends pas p


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,248 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales