Lors de développement d'applications WEB, on a découvert précédemment comment utiliser les Contrôles Utilisateur (ASCX) intégrable dans les pages ASPX. On souhaite maintenant pouvoir avoir la même chose mais sans avoir de fichier ASCX afin de pouvoir avoir une DLL complète intégrant tout nos Contrôles.
On a vu dans les articles précédents qu'on pouvait développer des Contrôles Utilisateur et les utiliser simplement dans les pages ASPX ou même dans d'autres User Controls.
Maintenant que cette utilisation est acquise, on souhaiterait améliorer le principe afin de créer une bibliothèque de contrôles. Le problème avec les Users Controls est que ceux-ci nécessitent l'usage de fichier ASCX qui ne peuvent pas être ajoutés directement dans une DLL (lors de la compilation).
En effet, la compilation des User Controls n'utilise que les fichiers 'Code Behind' (xxxx.ascx.vb ou xxxx.ascx.cs). De ce fait, les fichiers ASCX qui sont indispensables lors de l'utilisation des contrôles ne peuvent pas être stockés dans la DLL.
Maintenant comment peut-on obtenir ce résultat sans avoir le problème expliqué et donc pouvoir avoir le Controle entier dans la DLL. Cela se fait par l'utilisation des Custom Web Controls. Voyons comment faire.
Présentation
Les Custom Web Controls sont des composants ASP.NET que l'on peut placer directement dans des pages ASPX ou des User Controls (ASCX), ceci depuis une DLL compilée.
Ceci est possible parce que les Custom Web Controls ont génèrent dynamiquement un flux HTML par l'usage du Render (comme les composants ASP.NET standards) qui va renvoyer durectement le flux HTML en sortie.
Une présentation des Custom Web Controls est disponible sur le site MSDN :