J’ai une masterpage commune au 3 pages qui s’appelle ‘Maitre’
comme ces 3 pages peuvent etre appeler de differents facons, mais qu’elles ont toutes besoins d’un même environement de travail (initialisation d’objet ‘MonObjet’ par exemple). J’ai mis ce traitement dans le “page_load” de la master page.
comment puis je faire référence à ces variables dans les pages 1,2,3 (j’ai la syntaxe pour les controls de la master mais pas pour les variables)
j’ai bien cherché un truc comme :
this.master.MonObjet
mais bof…marche pô
merci
PS : SI il y a un truc plus mieux pour faire ca, n’hésitez pas…Je suis en phase de recherche
Voici un exemple, si tu as un composant sur la MasterPage :
Tu mets ce code dans le code behind.
Tu as encore plus simple, tu crées un accesseur de type get/set dans le code behind de ta Masterpage, et tu définit une virtualpath à tes 3 pages aspx vers ton Master.
En entete de ton fichier aspx fils :
Tu le mets juste après le <% @page machin… %>
Ensuite, dans le code Behind, il ne te reste plus qu’à faire un :
Le namespace ASP est utilisé par ASP.NET lorsqu’il compile ton site (page,usercontrol,masterpage).
Exemple pour une page du type MaSuperPage. Lorsque ta page va être compilée par ASP.NET, une nouvelle classe sera créé avec :
Nom de la classe : MaSuperPage_ASPX
Dérive de : MaSuperPage
Namespace : ASP
Cette classe sera compilée et intégrée dans une assembly temporaire. Donc lorsque tu accède à un type via le namespace ASP, tu accèdes au type qui sera compilé par ASP.NET.
Il se peut que dans certains cas de recompilation tu te retrouves avec plusieurs assembly avec le type ASP.MaSuperPage en mémoire … et c’est là que tu peux avoir des message genre “ASP.MaSuperPage ne peut pas etre casté en ASP.MaSuperPage”. Car en fait c’est deux types différent définis dans deux assembly différentes.
La solution est d’évitée d’utiliser les types définis dans le namespace ASP mais d’utiliser les types que tu définis (dans notre exemple MaSuperPage).
Sur l’explication du problème : Si (tu as été super clair) , et en plus ca me plait bien comme explication (je sentais bien le truc un peu sioux en mémoire)…
par contre sur la solution pour contourner le probleme, j’ai un peu plus de mal à comprendre…