IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Accés des variables d'une page à un composant


Sujet :

ASP.NET

  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Accés des variables d'une page à un composant
    Bonjour

    Je n'arrive pas à comprendre pourquoi mes variables ne s'échange pas entre une page et un composant dans cette page.

    Je vais essayé de présenter ça de manière cohérente :
    J'ai une page ASPX dont voici le code HTML et le CodeBehind
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="Placer.aspx.vb" Inherits="Annonce_Placer" title="Untitled Page" %>
    <%@ Register Src="passerA.ascx" TagName="passerA" TagPrefix="uc1" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" Runat="Server">
    	<uc1:passerA ID="PasserA1" runat="server" /><br />
    </asp:Content>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Partial Class Annonce_Placer
        Inherits System.Web.UI.Page
     
    	Public Shared GenreAnnonce As String
     
    	Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
    		GenreAnnonce = "Saisie"
    	End Sub
    End Class
    Vous aurez remarqué la présence d'un composant ASCX dedans et voici son code (enfin juste une partie, le détail n'étant pas trés important)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <%@ Control Language="VB" AutoEventWireup="false" CodeFile="passerA.ascx.vb" Inherits="Annonce_passer" %>
    <asp:Label ID="lblTitreForm" runat="server">Saisissez votre annonce</asp:Label>
    <br />
           Plein de champs de formulaire ........
    <asp:Button ID="btnSaisieAnnonce" runat="server" />
    Et son CodeBehind
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    Partial Class Annonce_passer
    	Inherits System.Web.UI.UserControl
     
    	Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If GenreAnnonce = "Saisie" Then
    	btnSaisieAnnonce.Text = "Enregistrez votre annonce"
    End If
    End Sub
    Mon souci est que il ne me trouve pas cette variable "GenreAnnonce"
    J'ai esayé en appellant la Partial Class Annonce_Placer, mais il ne la connait pas non plus.
    Bref, j'ai beau cherché, je ne trouve pas comment faire appel à cette variable.

    Pouvez vous m'aider ?

    Merci d'avance.

  2. #2
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Par défaut
    Bonjour

    Le seul moyen que j'ai trouvé pour transmettre une variable de la page vers le composant, c'est en utilisant le context:
    Code Behind Page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    Context.Items("maVariable")="mavaleur"
    ....
    -------------------------------------------
    Code Behind Composant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    Dim sMaVariable As String= Context.Items("maVariable")
    ....
    Tu peux évidemment aussi passer par la Session, mais c'est moins "propre" à mon sens .

    A bientôt

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci pour ton aide, ça marche bien.

    J'ai un collègue qui m'a parlé aussi de faire un Public Property dans le Composant et ça marche bien aussi, mais c'est plus compliqué.

    Enfin, question subsidiaire : est ce que le Context.Items marche pareil que le HttpContext.Items ?
    Question subsidiaire du subsidiaire : c'est quoi la différence quand on mets un Current en plus

    Merci

  4. #4
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Par défaut
    (Re) Bonjour

    Context = HttpContext

    Le Current est utile quand tu as besoin du Context dans une classe externe, dans le App_Code par exemple.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
               Dim oContext As HttpContext = HttpContext.Current
    C'est le seul moyen d'acceder au paramètre de Request et de Session dans une classe externe

    Voilà en esperant que ça repond à tes questions .

    A bientôt

  5. #5
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci, ça répond parfaitement.

    Kenavo

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Passer des variables d'une Page vers un Composant
    Par zooffy dans le forum ASP.NET
    Réponses: 12
    Dernier message: 15/10/2009, 18h34
  2. [débutant]Passer des variables d'une page à une autre
    Par MayOL69bg dans le forum ASP.NET
    Réponses: 1
    Dernier message: 14/03/2007, 10h53
  3. passage des variables d'une page a la autre .
    Par free01 dans le forum Langage
    Réponses: 4
    Dernier message: 28/06/2006, 14h25
  4. Réponses: 5
    Dernier message: 16/06/2006, 14h01
  5. Réponses: 6
    Dernier message: 30/11/2005, 15h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo