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.
alors quel est l'avantage en utilisant ascx sur aspx – peter