101 votes

Utilisation de Panel ou PlaceHolder

Quelle est la différence entre <asp:Panel > et <asp:PlaceHolder > dans ASP.NET ?

Quand faut-il utiliser l'un plutôt que l'autre ?

113voto

Steven Robbins Points 18791

Un panneau se développe en un span (ou un div), avec son contenu à l'intérieur. Un espace réservé n'est que cela, un espace réservé qui est remplacé par ce que vous y mettez.

43voto

Ray Booysen Points 10606

Le Placeholder ne rend pas de balises pour lui-même, il est donc idéal pour regrouper du contenu sans la surcharge des balises HTML externes.

Le panneau comporte des balises HTML extérieures mais possède quelques propriétés supplémentaires intéressantes.

  • BackImageUrl : Gets/Sets the l'URL de l'image d'arrière-plan pour le panneau

  • HorizontalAlign (alignement horizontal) : permet d'obtenir ou de définir l'alignement horizontal de l'appareil.
    alignement horizontal du contenu du parent parent

  • Wrap : Permet de déterminer si le
    le contenu du panneau est enveloppé

Il y a un bon article sur startvbnet. ici .

17voto

ecleel Points 3595

Contrôle PlaceHolder

Utilisez le contrôle PlaceHolder comme conteneur pour stocker les contrôles de serveur qui sont ajoutés dynamiquement à la page Web. Le contrôle PlaceHolder ne produit aucune sortie visible et sert uniquement de conteneur pour les autres contrôles de la page Web. Vous pouvez utiliser le contrôle Control.Controls pour ajouter, insérer ou supprimer un contrôle dans le contrôle PlaceHolder.

Contrôle du panneau

Le site La commande du panneau est un conteneur pour d'autres commandes . Elle est particulièrement utile lorsque vous souhaitez générer des contrôles de manière programmatique, masquer/afficher un groupe de contrôles ou localiser un groupe de contrôles.

Le site Direction est utile pour localiser le contenu d'un contrôle de panneau afin d'afficher le texte dans les langues qui s'écrivent de droite à gauche, comme l'arabe ou l'hébreu.

Le contrôle Panel fournit plusieurs propriétés qui vous permettent de personnaliser le comportement et l'affichage de son contenu. Utilisez les propriétés BackImageUr l pour afficher une image personnalisée pour le contrôle du panneau. Utilisez la propriété ScrollBars pour spécifier les barres de défilement du contrôle.

Petites différences lors du rendu du HTML : un contrôle PlaceHolder ne rendra rien, mais le contrôle Panel rendra comme un <div> .

Plus d'informations sur Forums ASP.NET

4voto

geo1701 Points 3269

J'ai un bug bizarre* dans Visual Studio 2010, si vous mettez des contrôles à l'intérieur d'un Placeholder, il ne les rend pas dans le mode de vue de conception.

C'est particulièrement vrai pour les étiquettes Hidenfields et Empty.

J'adorerais utiliser des placeholders au lieu de panneaux, mais je déteste le fait que je ne puisse pas placer d'autres contrôles dans les placeholders au moment de la conception de l'interface graphique.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X