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 :

Création des contrôles utilisateurs dynamiquement


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de TheNet
    Inscrit en
    Juillet 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2006
    Messages : 83
    Par défaut Création des contrôles utilisateurs dynamiquement
    Bonjour tous le monde,

    J'ai essayé d'ajouter des contrôles Web utilisateurs dans ma page ASPX dynamiquement comme montre cet exemple :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    public partial class _Default : System.Web.UI.Page 
    {
        Control uc;
     
        private void addControl(string _name)
        {
            uc = LoadControl(_name);
            Panel1.Controls.Add(uc);             
        }
     
        protected void Page_Load(object sender, EventArgs e)
        {
     
        }
     
        protected void Button1_Click(object sender, EventArgs e)
        {        
            addControl("wuc1.ascx");        
        }
     
        protected void Button2_Click(object sender, EventArgs e)
        {
            addControl("wuc1.ascx");     
        }    
    }
    Mes contrôles utilisateurs contient juste un bouton et un label.

    Jusqu'à mnt tout est bon, mais le problème c'est au moment que je clique sur le bouton (user control) la page ASCX ne s'affiche pas !!

    Merci pour vos aides.

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    tu es sur de ton chemin de ton control?
    essai avec "~/Nom_Du_Control".
    Met un point d'arret apres ton LoadControl pour voir si il le trouve bien

  3. #3
    Membre confirmé Avatar de TheNet
    Inscrit en
    Juillet 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2006
    Messages : 83
    Par défaut
    Le chemin est correct, le UC ne s'affiche pas car dans la page_load de mon ASPX contient rien d'où ce probleme!!

    Y a t-il une methode pour eviter ça ?

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    sinon tu met ton addControl dans le load.

    dans le ascx tu met dans le panel l'attribut Visible="False"

    ensuite dans le click tu passe la variable a true

    Mais je pense pas que ton probleme vienne de la .
    t'as essayer de mettre un point d'arret(breakpoint) pour voir si ton control est bien loade avant le add

  5. #5
    Membre confirmé Avatar de TheNet
    Inscrit en
    Juillet 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2006
    Messages : 83
    Par défaut
    Merci pour tes réponses.. Peux tu voir le ficher attaché ? ça va te permettre très bien de connaître mon problème.

    Merci bien
    Fichiers attachés Fichiers attachés

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    j'ai test le soucis c'est que la au boulot je suis encore en 2003 (bientot 2005 lol)

    faut que je changepas mal de truc mais sinon j'ai reussi a affiche ton control dans le panel.

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    private void Page_Load(object sender, System.EventArgs e)
    		{
    			Control uc = LoadControl("wuc1.ascx");
    			_pnPanel.Controls.Add(uc);
    			_pnPanel.Visible = false;
    		}
     
    		#region Web Form Designer generated code
    		override protected void OnInit(EventArgs e)
    		{
    			//
    			// CODEGEN: This call is required by the ASP.NET Web Form Designer.
    			//
    			InitializeComponent();
    			base.OnInit(e);
    		}
     
    		/// <summary>
    		/// Required method for Designer support - do not modify
    		/// the contents of this method with the code editor.
    		/// </summary>
    		private void InitializeComponent()
    		{    
    			this.Button1.Click += new System.EventHandler(this.Button1_Click);
    			this.Load += new System.EventHandler(this.Page_Load);
     
    		}
    		#endregion
     
    		private void Button1_Click(object sender, System.EventArgs e)
    		{
    			_pnPanel.Visible = true;
    		}
    ou

    juste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    		private void Button1_Click(object sender, System.EventArgs e)
    		{
    			Control uc = LoadControl("wuc1.ascx");
    			_pnPanel.Controls.Add(uc);
    		}
    marche ici.

    Je pourrais test sur Vs2005 que demain quand je serais chez moi
    desoler

Discussions similaires

  1. Réponses: 9
    Dernier message: 03/12/2007, 15h48
  2. Supprimer un contrôle utilisateur dynamiquement
    Par soso78 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 03/06/2007, 01h03
  3. Chargement dynamique des contrôles utilisateurs
    Par outat dans le forum ASP.NET
    Réponses: 3
    Dernier message: 03/04/2007, 12h11
  4. Création des comptes utilisateurs a partir d'un script et fichier texte
    Par hocine1978 dans le forum Administration système
    Réponses: 2
    Dernier message: 26/12/2006, 14h11
  5. Tests unitaires avec vbUnit sur des contrôles utilisateurs
    Par Patrick Mortas dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 07/09/2006, 18h06

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