Existe-t-il un moyen accepté de "déplacer" un contrôle.Comment pouvez-vous déplacer des contrôles ASP.Net à différents endroits sur le formulaire Web lors de l'exécution?
Mon client souhaite placer un certain bloc de balisage (représentant un élément visuel) dans l'un des différents endroits de la page. Les emplacements sont différents au point que je ne peux pas effectuer le changement sur CSS (en le faisant flotter ou quelque chose).
Je considérais simplement de mettre le contrôle dans plusieurs endroits avec Visible réglé sur "false", puis d'afficher celui à l'endroit qu'ils voulaient pour cette page particulière.
Cependant, le code pour ce contrôle n'est pas trivial - il y a quelques sections de modèle, par exemple. Devoir duper cela à plusieurs endroits serait difficile. Aussi, je ne veux pas avoir à travailler avec ce contrôle strictement du code-behind pour la même raison. Donc, je voudrais le mettre en un seul endroit sur le formulaire Web, le déplacer autour de l'endroit où je le veux. Pourrais-je placer des espaces réservés dans différents endroits, avoir le contrôle en un endroit, puis le retirer et l'ajouter au bon endroit? Je soupçonne que cela fonctionnerait.
Quelqu'un a-t-il une meilleure idée? Y a-t-il une meilleure pratique pour cela?
Comment est-ce que je ferais ceci si le contrôle est une extension d'un contrôle ASP.Net standard, ainsi il existe comme un fichier .cs dans App_Code? Aurais-je besoin de "l'envelopper" dans un contrôle utilisateur (un fichier .ascx)? – Deane
Oui, alors vous pouvez soit le charger dans un espace réservé ou un panneau .. même diff, seul le panneau crache une balise div ou span où l'espace réservé ne le fait pas. – madcolor
Si vous sous-classez un contrôle ASP.NET standard, vous pouvez créer une instance de votre contrôle au lieu de charger un contrôle, puis l'ajouter à l'espace réservé. J'ai mis à jour l'exemple de code ci-dessus pour refléter cela. – Mun