2011-11-10 2 views
1

Problème: lorsque l'index sélectionné dans la liste déroulante change, une autre liste déroulante doit être remplie en fonction de la valeur sélectionnée.DropDownList l'index sélectionné a été modifié Événement dans la boîte de dialogue jQuery

J'utilise des formulaires Web. Dans le masterpage j'ai ce code qui me permet d'obtenir postbacks de la boîte de dialogue jquery:

var dlg = $("#dialog-modal").dialog({ 
    autoOpen: false, 
    height: 250, 
    width: 350, 
    show: "fade", 
    hide: "fade", 
    modal: true 
});  
dlg.parent().appendTo($("form:first")); 

Lorsque la dropdowndist change la valeur sélectionnée, le serveur se fait le postback et rechercher les informations à la base de données et puis je faire la liaison à la deuxième liste déroulante. Cependant, les données ne sont pas montrées dans la seconde DropDownList

Toute aide serait grandement appréciée.

MISE À JOUR: J'utilise un UserControl dans ContentPage. Les deux, ContentPage et UserControl ont UpdatePanels. La boîte de dialogue jQuery affiche le contrôle UserControl dont les DropDownLists sont décrits dans le problème.

MISE À JOUR: Si je supprime le UpdatePanel de ContentPage, la boîte de dialogue fonctionne comme prévu. Il fait la liaison lorsque la liste déroulante sélectionnée change d'index ce qui est génial! Cependant, j'utiliserais idéalement le UpdatePanel dans ContentPage afin d'éviter les post-retours complets lors de l'interaction avec GridView (tri, pagination, édition, etc).

Toutes les idées seront grandement appréciées!

+0

essayez d'utiliser __doPostBack ('<% = DropDownList.ClientID%>', ''); –

Répondre

0

Après avoir lu UpdatePanel avec un peu plus en détail, j'ai trouvé la solution:

  1. Ajouter le UpdateMode = « conditionnelle » aux deux propriétés UpdatePanels
  2. Mise à jour UpdatePanel de l'UserControl après avoir changé l'index sélectionné du dropdownlist : UpdatePanelUC.Update();
0

Je pense que vous avez juste besoin de mettre un panneau de mise à jour autour de tout le contenu de la boîte de dialogue.

+0

Merci James. Le UpdatePanel est exactement au début du contrôle utilisateur qui a le contenu du dialogue. Donc, ce n'est pas une solution. – aleafonso

+0

Les deux listes déroulantes sont-elles à l'intérieur du panneau de mise à jour? –

+0

Oui, les deux. – aleafonso

Questions connexes