2009-04-21 6 views
0

Voici la situation.Comment les contrôles (boutons) peuvent-ils être définis dans un panneau ModalPopup Extender qui ne ferme PAS le panneau?

Lorsqu'un utilisateur est en train d'éditer un élément donné, il est autorisé à ajouter des messages/commentaires. Ceux-ci sont stockés en tant qu'enregistrements enfants dans une base de données SQL. Cliquez sur le bouton Ajouter un message pour ouvrir un panneau (pnlMessage) avec l'extension AJAX ModalPopup. Cela prend une certaine entrée et, lorsque le bouton "Envoyer un message" dans le panneau est cliqué (j'ai appris à la place de la propriété 'OkButton'), le message est stocké dans la base de données et un email est envoyé à l'intention destinataires Pas de problème là-bas.

Cependant, je dois pouvoir autoriser l'utilisateur à ajouter de nouvelles adresses électroniques (à condition qu'elles soient enregistrées dans notre base de données). J'ai un autre combo ModalPopup/panneau (pnlSearch) lié à un bouton du panneau précédent (pnlMessage).

L'utilisateur est censé pouvoir ajouter un e-mail ou cliquer sur un bouton de recherche pour remplir une liste. Le panneau pop-up (pnlSearch) se présente très bien, mais en cliquant sur le bouton "Rechercher" (qui lance la recherche et renvoie une collection d'enregistrements que l'utilisateur est censé sélectionner) ferme le panneau.

Auparavant, je me suis heurté au problème de ne jamais déclencher l'événement Button.Click lorsque j'ai placé le bouton dans la propriété "OkControlID" (le CancelControlID fonctionne correctement car je ne veux rien faire). La suppression de la ligne "OkControlID = Button" lui a permis de fonctionner parfaitement avec le déclenchement de l'événement Button.Click comme prévu. Maintenant, j'ai le panneau de recherche avec un bouton pour "OK" et un bouton pour "Rechercher" - mais le panneau devrait rester visible après le Search.Click. Ai-je manqué une propriété qui dit essentiellement "ne fermez pas le panneau quand ce bouton est cliqué"? Bien sûr, si j'aborde à nouveau le panel dans la même session, les résultats de l'effort précédent sont là (les résultats de la recherche). J'essaie d'éviter d'avoir à javascript car il n'y a pas beaucoup, voire pas, de cette expérience disponible pour soutenir ceci.

Aide!

Merci d'avance.

Répondre

1

Vous pouvez placer le panneau de recherche et le bouton de recherche à l'intérieur d'un UpdatePanel. Tout ce qui se trouve à l'intérieur du UpdatePanel sera en mesure de poster sans fermer la fenêtre contextuelle. Assurez-vous de ne pas mettre le bouton qui est censé fermer la fenêtre à l'intérieur du UpdatePanel.

+0

Donc, je ciblerais essentiellement le ModalPopupExtender à un * UpdatePanel * au lieu d'un panneau "normal"? Ça sonne presque trop bon (facile) pour être vrai :) Mais, alors, je n'ai pas beaucoup d'expérience asp.net donc je ne connais pas tous les contrôles webforms intimement - certainement pas aussi bien que je connais les contrôles winforms . Merci! – David

+0

Malheureusement, le bouton "Choisissez-moi et continuez" doit être sur le panneau de recherche (de sorte qu'il soit garanti qu'il ne soit pas masqué lorsque le panneau apparaît) et il ne semble pas possible de fermer le UpdatePanel (Search) de dans l'événement button.click. – David

Questions connexes