J'ai une page avec différents espaces réservés. Dans l'un d'eux, j'ai un lien que je veux ouvrir une fenêtre contextuelle modale dans un second espace réservé (en utilisant le ajaxToolkit ModalPopupExtender
):Comment avoir un lien dans un espace réservé ouvrir un ModalPopup dans un espace réservé différent?
<asp:Content ID="content1" ContentPlaceHolderID="placeholder1" Runat="Server">
<asp:LinkButton ID="link" runat="server" Text="Popup link" />
</asp:Content>
<asp:Content ID="content2" ContentPlaceHolderID="placeholder2" Runat="Server">
<asp:Panel ID="panel" runat="server" Text="Popup content" />
<ajaxToolkit:ModalPopupExtender ID="popup" runat="sever"
TargetControlID="link"
PopupControlID="panel"
/>
</asp:Content>
Quand vous faites comme ci-dessus, il me tire une exception, en disant que popup
ne peut pas trouver link
(que je comprends, car ils sont dans deux espaces réservés différents).
Comment est-ce que je peux faire ce travail? Je peux penser à quelque chose trouver FindControl
dans le code derrière, mais je n'aime pas vraiment utiliser cette fonction, car il est assez coûteux en calcul (en particulier avec ma mise en page imbriquée).
Merci pour votre réponse! Le mélange entre TargetControlID et PopupControlID était une faute de frappe, mais merci de le corriger. J'aime la méthode 2, mais pourquoi avons-nous besoin de l'étape 1. et 2.? – Wookai
Dans mon expérience, le modalPopup aime avoir un targetControlID. J'ai eu des erreurs de compilation sans cela. Donc, étapes 1 et 2 pour la méthode 1, je crée un contrôle caché qui ne fait rien mais rend le modalPopup heureux lors de la compilation :) Il pourrait aussi avoir été une limitation de la boîte à outils AJAX plus tôt ... – Tommy
ah - ceux-ci sont faciles à se mêler ne sont-ils pas? Je voulais dire qu'il aime avoir un popUpControlID .... etc etc etc – Tommy