deriver un un UserControl ascx

deriver un un UserControl ascx - C#/.NET managed - Programmation

Marsh Posté le 05-09-2006 à 10:46:31    

Auriez-vous déja réussi à faire de l'héritage avec des ascx ?  
 
( des Test_ChildWebUserControl : System.Web.UI.UserControl et pas des custom control : public class WCtrlGenericHeader : WebControl, INamingContainer ).
 
En gros je voudrais juste pour essayer : un userControl de base, très simple avec un simple label, et un ascx héritant, qui ne ferait que modifier le texte :)
 
Merci !

Reply

Marsh Posté le 05-09-2006 à 10:46:31   

Reply

Marsh Posté le 06-09-2006 à 14:12:08    

jogrey a écrit :

Auriez-vous déja réussi à faire de l'héritage avec des ascx ?


ASCX = couche de présentation d'un user control, dans un méta langage de présentation.
Donc l'héritage n'existe pas, pas plus qu'en HTML.
 

jogrey a écrit :

En gros je voudrais juste pour essayer : un userControl de base, très simple avec un simple label, et un ascx héritant, qui ne ferait que modifier le texte :)


Pourquoi tu as besoin d'un ascx ? Quand tu utilises un Label, tu n'as pas besoin d'un Label.ascx.
 
Bon... qq explications sont quanb même nécessaire :
* ASCX = fichier de définition de la présentation de certains contrôles.
* Tu peux le coller dans un fichier ASPX de définition de la présentation d'un formulaire.
* Au moment de l'évaluation de ton ASPX (pour générer le HTML qui va bien), quand .Net recontre un ASCX, il l'ouvre et voit que ce derneir référence un Contrôle.
* Il va donc charger/créer une instance de ce contrôle, ....
 
=> La partie héritage est possible, mais sur le code-behind uniquement. Dans cette partie tu défini une classe .Net de base, avec lequel tu peux jouer avec l'haritage, comme toute classe .Net.
Attention : en VS.Net2003, le designer n'est pas objet : il ne saura pas t'afficher tout bien (il te collera un carré avec un message d'erreur rouge). Ca n'empêche pas qu'à l'exécution ça fonctionne.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed