Vous êtes ici Forums
  |  Connexion
 Forums
HomeHomeForums DNNForums DNNDéveloppementDéveloppementProblème chargement contrôle ascx dynamiquementProblème chargement contrôle ascx dynamiquement
Précédente
 
Suivante
Nouveau message
05/06/2007 13:54
 

Bonjour!

Je suis en train de développer un module dnn et j'ai un petit soucis. En effet j'essaye de charger mes contrôles ascx dynamiquement dans mon module. J'arrive parfaitement à charger le contrôle et à l'afficher dans un "PlaceHolder".

UserControl oUserControl = new UserControl();
oUserControl = (UserControl)this.LoadControl("~/DesktopModules/TestShop/Confirm.ascx");
            PlaceHolder1.Controls.Add(oUserControl);

Le problème surivent lorsque je clique sur un bouton dans mon contrôle dynamique. En effet je n'arrive jamais dans la méthode "click" du bouton mais dans la méthode "page_load" du module (où j'ai chargé le contrôle dynamique). J'ai essayé cette même opération dans un site web ASP.NET non dnn et cela fonctionne parfaitement.

Je dois oublier un opération à quelque part je pense mais je ne vois pas où!

Merci d'avance pour votre aide

Mselle

 

 

 
Nouveau message
05/06/2007 14:47
 

Bonjour Mselle,

Essaye ceci dans le code de ton contrôle :

 

private void InitializeComponent()
{
 this.btnTonBouton.Click += new EventHandler(btnTonBouton_Click);
}


Gilles

 
Nouveau message
05/06/2007 15:13
 

Bonjour Gilles,

Merci de  ta réponse rapide.

J'ai essayé de rajouter ce code mais toujours aucun changement!

Mon contrôle .ascx se trouve bien dans les contrôles du module (de type "View"). Je suis quasiment sûre que mon problème vient de dnn car avec l'opération marche parfaitement dans une application web "standard".

Jusqu'à l'appel du "Page_load" du contrôle principal tout se déroule normalement. Je ne comprend juste pas pourquoi le méthode du contrôle n'est pas apellée.

Aurais-tu une idée d'où ce problème pourrait venir?

Merci

Mselle

 

 
Nouveau message
05/06/2007 15:59
 

Hummmm

Tu as bien placé le code dans Confirm.ascx.cs ?

Vérifie aussi que la procédure suivante existe bien dans le code de Confirm.ascx.cs :

override protected void OnInit(EventArgs e)
{
 InitializeComponent();
 base.OnInit(e);
}

Gilles

 
Nouveau message
05/06/2007 16:15
 

Non effectivement cette méthode n'y étais pas.

Je l'ai ajoutée (effectivement dans le code de "Confirm.ascx.cs"), maintenant les deux méthodes que j'ai rajouté sont bien appellées mais cela ne fonctionne malheureusement toujours pas .

 
Nouveau message
05/06/2007 16:22
 

Fichtre !

Question idiote, tu as bien remplacé le code ci-dessous en rouge par le nom de ta procédure qui doit être appellée ? Ainsi que le remplacement de btnTonBouton par le nom de ton bouton ?

this.btnTonBouton.Click += new EventHandler(btnTonBouton_Click);

Gilles

 
Nouveau message
05/06/2007 16:29
 

Oui j'ai bien remplacé les deux noms

Ce n'est malheureusement pas le problème. Je cherche toujours mais là je dois dire que je sèche. Surtout que je ne maitrise de loin pas le développement de modules avec dnn!

Aurélie

 
Nouveau message
06/06/2007 10:00
 

Voilà  mon problème est résolu... Une erreur très bête de ma part en fait lors du "Page_Load" la référence de mon contrôle était supprimée donc je ne pouvais avoir accès à ces méthodes.

Maintenant cela marche parfaitement il ne me reste plus qu'a rendre mon code plus propre.

Bonne journée

Aurélie

 

 
Nouveau message
06/06/2007 17:02
 

Bonjour Aurélie,

Effectivement, je comprends mieux ! Cela arrive parfois lorsque l'on est trop la tête dans le guidon, on fini par ne plus voir l'évidence.

Gilles

 
Précédente
 
Suivante
HomeHomeForums DNNForums DNNDéveloppementDéveloppementProblème chargement contrôle ascx dynamiquementProblème chargement contrôle ascx dynamiquement