2009-03-23 7 views

Répondre

9

Les contrôles utilisateur sont une forme de contrôle personnalisé, qui vous donne un concepteur visuel. Ils sont idéaux pour une utilisation lorsque vous voulez un contrôle réutilisable dans le même site Web. (Il est possible de créer et d'empaqueter des contrôles utilisateur sous la forme d'assemblages séparés, mais cela dépasse le cadre de cette question et je sais que cela a été demandé sur SO).

Un contrôle personnalisé est généralement utilisé pour désigner un contrôle Web ou un contrôle composite qui est une forme spécialisée d'un contrôle Web. Ces contrôles n'ont pas de concepteur et sont généralement mis en œuvre dans des projets distincts de votre site Web, ce qui leur permet d'être réutilisés sur de nombreux sites. Maintenant, votre deuxième question, ASCX et ASPX sont deux choses différentes. ASCX est l'extension pour un contrôle utilisateur, où ASPX est une page ASP.Net. Vous ne pouvez pas utiliser un ASCX en lui-même, il doit être placé sur une page ASPX ou Master. Une façon que j'aime utiliser les contrôles utilisateur est que j'ai par exemple une page très complexe qui a 7 onglets, 5 d'entre eux ont des grilles, de ces grilles trois d'entre eux sont identiques. Eh bien ce que je peux faire est de créer un contrôle utilisateur séparé pour le contenu des onglets, cela réduit maintenant le code dont j'ai besoin de manière significative (puisque trois grilles sont identiques sauf pour les données). En outre, cela permet à plusieurs de travailler sur différentes parties de la page, et cela m'aide à tout garder puisque je suis en train de réduire la complexité de la page. Vous n'utilisez pas de contrôles utilisateur au lieu de pages, vous les utilisez en conjonction avec une page.

Édition

Vous n'utilisez pas ascx sur aspx. Vous utilisez ascx pour compléter. Par exemple sur mon site chaque page a le même pied de page, mais je ne veux pas que chaque page dérive d'une seule page maître. Je peux créer mon pied de page en tant que contrôle acsx et le placer dans chacune de mes pages maîtres.

Un autre exemple, j'ai un formulaire qui permet à un utilisateur d'entrer trois plages de dates différentes. (Et nous avons d'autres formes). J'ai donc mis la logique pour activer un bouton de calandre, et une zone de texte qui, lorsqu'on clique sur ouvre le calendrier, dans un contrôle utilisateur. Je peux ensuite réutiliser ce contrôle utilisateur dans toutes mes pages aspx.

+2

alors quel est l'avantage en utilisant ascx sur aspx – peter

3

Contrôles utilisateur/commandes composites

Commandes de l'utilisateur qui sont constitués d'autres contrôles ASP.Net ou personnalisés. Ils sont généralement assez simples et peuvent être créés assez rapidement. Ils ne sont généralement pas partagés entre les projets, mais il existe certains tricks qui peuvent vous permettre de le faire.

contrôle personnalisé

Les contrôles personnalisés sont des contrôles que vous implémentez l'interface utilisateur en créant tout de la sortie HTML pour la conception support de temps. Les contrôles personnalisés prennent beaucoup plus de temps à faire. Vous devez utiliser Web.UI.Control ou hériter d'un contrôle secondaire (zone de texte par exemple). Les contrôles personnalisés sont compilés au format binaire pour leur permettre d'être distribués plus facilement. Depuis qu'ils sont compilés, ils peuvent être référencés à partir de la boîte à outils dans Visual Studio.

L'utilisation d'un contrôle dans et d'une page aspx présente deux avantages principaux. Encapsulation de la logique et de la réutilisabilité.

+0

alors quel est l'avantage de ascx sur ASPX puis – peter

+0

Pour être clair, vous ne pouvez pas remplacer une page aspx avec un usercontrol. – cgreeno

5

Les contrôles personnalisés sont des contrôles construits entièrement en code. Le pro est que vous pouvez les mettre dans des librairies, ajouter une icône à la boîte à outils et un autre contrôle fin.

Les contrôles utilisateur sont plus faciles à faire, et en général, c'est un moyen d'encapsuler des choses pour simplifier d'autres pages ou lorsque vous avez besoin d'utiliser le même balisage sur plusieurs pages.

L'avantage des contrôles sur les pages ASPX régulières est que vous ne devez faire une partie du balisage (et non la page entière)

Questions connexes