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 :

Communication entre UserControl et MasterPage


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de titan_33
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Par défaut Communication entre UserControl et MasterPage
    Bonjour

    J'ai une masterPage qui contient un userControl.

    Dans ce userControl je recupère une information que je dois passer à la masterPage, toutefois je n'arrive pas à récupérer la référence de ma masterPage dans mon userControl pour effectuer cette opération.

    Merci d'avance pour votre aide

    Titan

  2. #2
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 32
    Par défaut
    La ligne suivante te permet de récupérer la réference vers ta masterpage:
    Attention cependant, dans ce genre de cas de figure on peut rapidement faire des trucs laids!

  3. #3
    Membre éclairé Avatar de titan_33
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Par défaut
    Effectivement dans mon formulaire ayant le <asp:Content ID="Content" ContentPlaceHolderID="contentPlaceHolder" Runat="Server"> qui est relié à la masterPage j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            //Reference avec la MasterPage nommé : Tpl_mpMain
            Tpl_mpMain oTpl_mpMain = Page.Master as Tpl_mpMain;
    Toutefois dans mon userControl qui est dans la MasterPage, si je mets la même commande j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur	4	Le type ou le nom d'espace de noms 'Tpl_mpMain' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)	...

  4. #4
    Membre éclairé Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Par défaut
    Faut faire des Getters et des Setters des tes propriétés ou controles dans ton User Control

  5. #5
    Membre éclairé Avatar de titan_33
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Par défaut
    Dans mon userControl j'ai mis le setter suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        private Tpl_mpMain _oTpl_mpMain;
        public Tpl_mpMain oTpl_mpMain
        {
            set { _oTpl_mpMain = value; }
        }
    Mais il ne connait pas la classe Tpl_mpMain qui est le nom de ma MasterPage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur	1	d:\3wCgo\WWW_fil\Usc\ucMenu.ascx.cs(30): error CS0246: Le type ou le nom d'espace de noms 'Tpl_mpMain' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)	D:\3wCgo\Amv_filhetallard\WWW_fil\Frm\content.aspx	1

  6. #6
    Membre éclairé Avatar de titan_33
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Par défaut
    pour seth78

    Ma masterPage se trouve dans le même projet que mon userControl

    le même bout de code (copier/coller)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      private Tpl_mpMain _oTpl_mpMain;
    fonctionne dans mon formulaire héritant de : System.Web.UI.Page

    par contre pas dans mon userControl "class Usc_ucMenu" héritant de System.Web.UI.UserControl


    !!!

  7. #7
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 32
    Par défaut
    Vérifie l'orthographe et utilise un max l'autocomplétion, parce que honnetement je ne vois pas pourquoi il ne trouverai pas le type de ta MasterPage. Peut être ton UserControl est il dans un dossier, auquel cas le Namespace est peut être different et dans ce cas il te manque une référence.

Discussions similaires

  1. Communication entre usercontrol et page
    Par Dragna_x dans le forum Silverlight
    Réponses: 14
    Dernier message: 31/05/2010, 10h32
  2. communication entre un Form et un UserControl
    Par tmerigon dans le forum C#
    Réponses: 7
    Dernier message: 02/04/2010, 09h28
  3. Communication entre UserControl et winform
    Par topolino dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/06/2009, 16h03
  4. Communication entre deux UserControls
    Par Jimmy_S dans le forum Windows Forms
    Réponses: 2
    Dernier message: 25/02/2008, 23h29

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