[C#][.NET] Est il possible de faire de l'héritage avec des ASCX ASPX ?

Est il possible de faire de l'héritage avec des ASCX ASPX ? [C#][.NET] - C#/.NET managed - Programmation

Marsh Posté le 13-08-2008 à 11:55:13    

Hello,
 
J'ai toujours entendu dire qu'on ne pouvait pas faire d'héritage avec les ASPX et ASCX, pourtant il s'agit bien de classe comme les autres.
 
Dans l'idée, j'ai une page web, avec X champs Y méthodes. Je vais réutiliser cette même structure, même présentation, mêmes méthodes pour certaines mais pas pour toutes, quelques tests différents, d'où l'idée d'héritage pour la présentation et pour le traitement en modifiant juste les méthodes que j'ai besoin de modifier.
 
Est ce possible ?
 
Merci :p.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 13-08-2008 à 11:55:13   

Reply

Marsh Posté le 13-08-2008 à 12:39:31    

J'en ai jamais eu l'utilité. Mais vu que ta classe "MaPage" hérite de System.Web.Page, y'a pas de raison que tu ne puisse pas hériter de MaPage.
 
Enfin, à mon avis tu devrais faire un test pour être fixé.

Reply

Marsh Posté le 13-08-2008 à 14:04:58    

Pour le test je m'y perds, surtout que si je créais un ascx héritant d'un ascx les boutons et autres composants ne seront plus déclarés.
Mais je vais tester ça simplement.
Merci.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 01-01-2009 à 18:29:28    

Tu peux bien entendu intercaler une classe entre System.Web.Page et ta page à toi, et y déclarer tes méthodes et attributs.
Mais je ne comprend pas ce que tu entends par dériver un ASPX ? Tu veux dire au sein d'une web application avoir une page à part entière avec ses contrôles et son code behind, et quelque part une page en dérive ?


---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 03-01-2009 à 00:13:29    

Oui pourquoi pas, mais maintenant je ne me souviens plus exactement de l'utilité en fonction de ce que je faisais à l'époque.
 
On va dire que ces pages partageaient la même interface, le même page load à quelques détails prêts, et quelques méthodes que j'aurais pu réécrire appeler par le page load, dont une méthode se chargeant d'initialiser les labels textbox div etc ... a afficher ou non et à alimenter ou non ...
 
En gros, j'aurai repris une même page, j'aurai pris le gros du page load, le gros de la méthode d'initialisation, j'aurai effectué quelques modifs dans des méthodes héritées overridées et le tour était joué, j'avais une bonne base pour faire tout le reste.
 
Mais ce genre d'héritage n'existe pas :D, enfin celui de récupérer l'interface :p.


Message édité par Clarkent le 03-01-2009 à 00:14:07

---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 12-01-2009 à 12:27:04    

Clarkent a écrit :

Hello,
 
J'ai toujours entendu dire qu'on ne pouvait pas faire d'héritage avec les ASPX et ASCX, pourtant il s'agit bien de classe comme les autres.
 
Dans l'idée, j'ai une page web, avec X champs Y méthodes. Je vais réutiliser cette même structure, même présentation, mêmes méthodes pour certaines mais pas pour toutes, quelques tests différents, d'où l'idée d'héritage pour la présentation et pour le traitement en modifiant juste les méthodes que j'ai besoin de modifier.
 
Est ce possible ?
 
Merci :p.


 
Tu vas pouvoir hériter de ta classe mais ça ne contiendra que la logique de la page, pas la présentation (sauf si tte la présentation est dans la logique, ce qui n'est pas à conseiller).  
Le problème c'est que ta classe de page ou de controle va servir de classe de base à une autre classe générée par le framework asp.net, et cette nouvelle classe contiendra tout, génération d'interface + logique. En réalité c'est de cette classe que tu voudrais pouvoir hériter, mais ce n'est pas possible.

Reply

Marsh Posté le 14-01-2009 à 08:30:00    

Tout à fait.
Par contre peut être qu'avec quelques webcontrols judicieusement pensés tu peux tendre vers ce que tu recherches. A nuancer selon la complexité de ta partie visuelle, car ça devient facilement imbitable et c'est difficile à prendre en main surtout quand on n'en a pas l'habitude, mais si le principe même t'est inconnu je te suggère cette piste.


Message édité par TotalRecall le 14-01-2009 à 08:30:37

---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 16-01-2009 à 13:55:24    

Je connais les ascx :).
Merci, pour les différentes possibilités :), et l'héritage de la logique est ce qu'il y a de plus normal.
Merci.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 16-01-2009 à 20:53:46    

Je ne parle pas d'ASCX justement si c'est à moi que tu t'adresses !
Un exemple ici : http://www.techheadbrothers.com/Ar [...] nfirmation


---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 17-01-2009 à 00:44:29    

TotalRecall a écrit :

Je ne parle pas d'ASCX justement si c'est à moi que tu t'adresses !
Un exemple ici : http://www.techheadbrothers.com/Ar [...] nfirmation


ha ok, je ne pensais pas à cela, mais dans le cas que je connaissais il y a plusieurs mois je ne vois pas trop comment j'aurai pu l'utiliser.
Mais le tuto à l'air sympa merci ;), je n'ai jamais  eu l'occasion d'en faire.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 17-01-2009 à 00:44:29   

Reply

Marsh Posté le 17-01-2009 à 11:19:50    

Ca fait ce que tu cherches, pas à l'échelle d'une page mais d'un composant, ce qui au final est de toute façon beaucoup plus logique et naturel pour moi, vu que le reste peut se gérer par code (via un héritage) plutôt que par design.
 
Par contre c'est lourd et compliqué à développer, vu que tu n'as plus du tout de designer tu dois tout faire en code behind : layout, création et gestion dynamique des controles.  
Et pour exposer au mieux tes propriétés et événements, là encore ça nécessite un peu de pratique et une bonne compréhension des attributs.


---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 18-01-2009 à 14:15:47    

Avec les masterpages, ca serait pas possible ?
En tout cas, je pense qu'avec le framework MVC (sorti en beta) on doit pouvoir le faire.
En tout cas, en java struts, je l'ai déjà fait quelques fois.

Reply

Marsh Posté le 18-01-2009 à 23:40:07    

TotalRecall a écrit :

Ca fait ce que tu cherches, pas à l'échelle d'une page mais d'un composant, ce qui au final est de toute façon beaucoup plus logique et naturel pour moi, vu que le reste peut se gérer par code (via un héritage) plutôt que par design.
 
Par contre c'est lourd et compliqué à développer, vu que tu n'as plus du tout de designer tu dois tout faire en code behind : layout, création et gestion dynamique des controles.  
Et pour exposer au mieux tes propriétés et événements, là encore ça nécessite un peu de pratique et une bonne compréhension des attributs.


oui pk pas, mon cas était particulier à l'époque mais je ne me souviens plus trop en quoi, enfin oui je suis d'accord.
 

itg a écrit :

Avec les masterpages, ca serait pas possible ?
En tout cas, je pense qu'avec le framework MVC (sorti en beta) on doit pouvoir le faire.
En tout cas, en java struts, je l'ai déjà fait quelques fois.


 
Je ne sais pas si c'est faisable avec, mais mon pb était en 1.1 donc pas de master page.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 24-01-2009 à 16:33:12    

Je viens de voir que le topic remontait à quelques mois, et le pire c'est que c'est moi qui l'ait uppé. Je ne sais plus comment je suis arrivé dessus :d.


---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 25-01-2009 à 13:10:36    

mais une réponse n'est jamais périmée ;).


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Sujets relatifs:

Leave a Replay

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