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 :

Initialisation des control dans mon UserControl


Sujet :

ASP.NET

  1. #1
    Membre averti
    Avatar de UNi[FR]
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 340
    Points : 448
    Points
    448
    Par défaut Initialisation des control dans mon UserControl
    Bonjour,

    j'ai un userControl qui contient 3 label.

    Je souhaite chargé à la volée plusieurs instance de mon UserControl dans un tableau j'ai donc le code suivant :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
                TableRow _tr = null;
                for (int i = 0; i < result.Count; i++)
                {
                    if (i % 2 == 0)
                    {
                        _tr = new TableRow();
                        MonTableau.Rows.Add(_tr);
                    }
     
                    var _tc = new TableCell() { Width = 200, Height = 85 };
                    var _uc = new MonUserControl() { IdDocument = result[i].id.ToString(), Visible = true };
                    _tc.Controls.Add(_uc);
                    _tr.Cells.Add(_tc);    
                }
    Dans mon user control j'ai le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
            private string m_idDocument;
            public string IdDocument
            {
                get { return m_idDocument; }
                set
                {
                    m_idDocument = value;
                    loadDocument();
                }
            }
            protected void Page_Load(object sender, EventArgs e) {}
            private void loadDocument()
            {
                    // - ERREUR ICI car lblDate == null -
                    lblDate.Text = m_idDocument;
            }
    donc rien d'extraordinnaire, seulement à chaque fois mes controls de base qui se trouvent dans mon UserControl ne sont jamais initialisé et sont toujours a null au moment de l'affectation des valeurs

    qq1 peut il m'aider ?? merci d'avance

  2. #2
    Membre émérite
    Avatar de lakitrid
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    1 535
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 535
    Points : 2 388
    Points
    2 388
    Par défaut
    A la placer de simplement instancier (new) ton UserControl tu dois utiliser la méthode LoadControl de la page où tu ajoute le UserControl il me semble.

  3. #3
    Membre averti
    Avatar de UNi[FR]
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 340
    Points : 448
    Points
    448
    Par défaut
    si je fais l'appel comme ceci, ça ne fonctionne toujours pas !


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                    MonUserControl _f = LoadControl(typeof(MonUserControl), null) as MonUserControl;
                    _f.IdDocument = result[i].id.ToString();
                    _tc.Controls.Add(_f);

  4. #4
    Membre averti
    Avatar de UNi[FR]
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 340
    Points : 448
    Points
    448
    Par défaut
    J'ai trouvé la solution cf : http://www.codeproject.com/KB/user-c...rcontrol2.aspx

    dans mon fichier qui va appeller mon user control je dois ajouter la reference a mon control

    code aspx du fichier appellant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ Reference Control="Chemin/.../MonUserControl.ascx"%>
    code cs du fichier appellant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using namespace_de_MonUserControl;
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var _f = LoadControl("Chemin/.../MonUserControl.ascx") as MonUserControl;

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

Discussions similaires

  1. Réponses: 21
    Dernier message: 12/12/2014, 15h04
  2. Réponses: 8
    Dernier message: 11/02/2011, 00h33
  3. ajouter des control dans une onglet de sstab sous VB6
    Par aymane_farissi dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 26/09/2005, 13h44
  4. Liés des controls dans un GroupBox ?
    Par vincthav dans le forum MFC
    Réponses: 4
    Dernier message: 18/08/2005, 17h34
  5. Comment peut on integer des controles dans un prog opengl
    Par franck31400 dans le forum OpenGL
    Réponses: 2
    Dernier message: 28/04/2004, 09h06

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