J'utilise le contrôle ModalPopupExtender de la boîte à outils AJAX. Ce contrôle étend un panneau qui contient un contrôle CreateUserWizard. Toutefois, la validation du contrôle CreateUserWizard provoque une publication sur le serveur, ce qui ferme la fenêtre contextuelle. Je voudrais que le popup reste ouvert, même après la publication. D'après ce que je peux comprendre, je devrais utiliser un UpdatePanel. Cependant, je n'arrive pas à le faire fonctionner. La raison pour laquelle il est d'être assez délicat parce que la structure doit être:Empêche la fermeture de ModalPopup à la publication
ModalPopupExtender
<Panel>
<UpdatePanel>
<ContentTemplate>...</ContentTemplate>
</UpdatePanel>
</Panel>
Je ne peux pas suivre cette structure parce que la ModalPopupExtender
repose sur un bouton qui est contenu dans le contrôle CreateUserWizard. Par conséquent, il doit être ajouté dans les balises <asp:CreateUserWizard> </asp:CreateUserWizard>
. Je voudrais le bouton de soumission, intégré dans le contrôle CreateUserWizard, pour forcer une mise à jour du panneau. Des suggestions sur la façon dont la structure devrait être? Mon code est très personnalisé, donc c'est assez long. Cependant, la structure clé est similaire à celle-ci:
<asp:Panel>
<asp:CreateUserWizard>
<WizardSteps>
<asp:CreateUserWizardStep>
<ContentTemplate>
//Form Controls here
</ContentTemplate>
<CustomNavigationTemplate>
//The SUBMIT button that should force update
//CANCEL button
<asp:ModalPopupExtender /> //References the CANCEL button therefore has to be here
</CustomNavigationTemplate>
</asp:CreateUserWizardStep>
</WizardSteps>
</asp:CreateUserWizard>
</asp:Panel>
serait le UpdatePanel Whereabouts placé? Ou y a-t-il un moyen plus efficace de s'assurer que ModalPopup ne ferme pas?
Merci pour toute aide
J'ai essayé de mettre le UpdatePanel autour de tout le Panel, mais je viens d'obtenir l'erreur 'Un extender ne peut pas être dans un autre UpdatePanel que le contrôle qu'il étend. – keyboardP
Vous ne devriez pas mettre votre prolongateur dans un autre UpdatePanel. Si vous utilisez un UpdatePanel imbriqué, vous devez déplacer l'extension depuis le UpdatePanel interne ou supprimer le UpdatePanel interne. –