0/5 (5 avis)
Snippet vu 10 602 fois - Téléchargée 36 fois
Ajouter une classe à votre projet de site nommée Page qui hérite de la classe System.Web.UI.Page et vous déclarez l'objet que vous voulez communiquer dedans ;) La nouvelle classe Page sera donc une System.Web.UI.Page avec une donnée public supplémentaire ;) Exp : (Page.vb) Namespace monNamespace Public Class page Inherits System.Web.UI.Page Public monObjet As New Objet()'instanciation de votre Objet End Class End Namespace Ensuite, il ne reste plus qu'a modifier le CodeBehind de votre page ASPX en changeant son héritage ;) Remplacez le Inherite System.Web.UI.Page par Inherite maSolution.monNamespace.Page Ensuite dans le load de la page, vous pouvez utiliser votre objet afin de l'initialiser ;) ATTENTION utilisez le directement, sans le re-déclarer ! exp : (UnePage.aspx) Namespace moteurSite Public Class moncompte Inherits maSolution.monNamespace.Page 'remarquez que l'on hérite à présent de notre nouvelle classe, et plus de la classe Page habituelle ! Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load monObjet.maMethode End Sub End Class End Namespace Avec cette construction, rien de plus simple que de récupérer dans l'ascx, l'objet de l'ASPX ;) Il suffit d'instancier un nouvel objet, de l'initialiser avec la propriété Parent ;) c'est bon ;) Exp : (monfichier.ascx) Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim monObjet As Objet Dim Lapage as Page Lapage = Me.Parent.Page monObjet = Lapage.monObjet End Sub et voila ;) Cette méthode permet par exemple de conserver les données d'un utilisateur de façon propre dans toute une page (même si celle-ci comporte des ascx ;) et sans variable de session (pas stable les sessions) Bon Code !!
25 oct. 2006 à 17:50
voici mon exemple si quelqu'un peut m'aider :
-j'ai une pagehaut.ascx avec label et bouton
-j'ai une page masterpage avec usercontrol (pagehaut.ascx)
-j'ai une page default.aspx s'appuyant sur masterpage
Comment bouger les propriétés de mon label et de mon bouton dans la page default.aspx sachant que les objets sont dans pagehaut.ascx de la masterpage.
Merci de votre aide
Sébastien
23 déc. 2004 à 09:01
6 janv. 2004 à 21:55
30 avril 2003 à 17:25
30 avril 2003 à 17:13
Dim monObjet As Objet
Dim Lapage As monNamespace.page
Sachant que lors de mes tests cela a fonctionné aléatoirement.
Parfois cela fonctionne bien, d'autres cela affiche 00:00:00
Peut-être dû au localhost ?
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.