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 :

[ASP 1.1 / C#] PlaceHolder et UserControl


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 174
    Par défaut [ASP 1.1 / C#] PlaceHolder et UserControl
    ,

    J'ai une page d'accueil qui doit afficher 3 User Control selon le service de la personne connecté.

    Au départ, je chargeais tous les UC sur la page et jouais avec les propriétés Visible.
    Sauf qu'avec plus de 20 UC, ca plante

    Donc j'essayes le PlaceHolder qui charge dynamiquement les UC concernés, mais comment charger les évenements associés ?

    je charge l UC via son chemin virtuel et ne fais pas de declaration de variable.

    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
     
    //Cette hashtable contient tous les noms des UC par rapport a la page d'accueil
    Hashtable ucTask = new Hashtable(); 
    .
    .
    .
    //Ajouter les user control dans mon Page_Load
    PlaceHolderTask.Controls.Add(LoadControl("../Coordination/" + ucTask[Utils.PageAccueil]));
    .
    .
    //C est cette partie que j aimerais charger dynamiquement selon l UC chargé
    TaskLogistic1.OnAnomalyClick += new TaskHandler(TaskLogistic1_OnAnomalyClick);
    TaskLogistic1.OnDeliveryClick += new TaskHandler(TaskLogistic1_OnDeliveryClick);
    .
    .
    Merci de votre aide

  2. #2
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 174
    Par défaut
    Hmm on dirait que mon probleme ne motive pas les foules :p

    J ai bien avancé mais j'ai tjrs le souci sur mes evenements

    Lors du 1er cycle j'affiche bien le user control qui contient les liens vers les listes dans mon 1er PlaceHolder.
    Lors du clic sur un lien, j affiche bien au Postback le user control dans le 2eme placeholder correspondante bien qu elle ne sois pas chargé dans le placeholder.controls[0] ?!
    Lors d'un clic pour voir le détail de la ligne, tous disparait !!!

    j ai l impression que le noeud de mon probleme se situe au niveau du cycle de vie de la page.

    Lorsque je clique dans mon 1er user control je declenche d'abord Init() de ma page et ensuite je geres l evenement associé sur le click.

    Il faudrait que j'arrives à charger mon evenement avant l init mais pas trouver

    Plz need help

  3. #3
    Membre éclairé Avatar de bilb0t
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    378
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 378
    Par défaut
    Ton loadControl, il load des control !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TonControl _x = (TonControl)Loadcontrol(Page.ResolveURL(...));
    TonControl.click += new ...
    Et voilà...

  4. #4
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 174
    Par défaut
    oui il load des control :p

    le souci est que les evenements associé ne marches pas

    voici un bout de mon code

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
     
    		private void Task_Init(object sender, EventArgs e)
    		{
    			LoadTask();
    			LoadListe(liste);
    			LoadManage(manage);
    		}
    .
    .
    		private void TaskLogistic1_OnDeliveryClick(object sender, FireTaskEvent fte)
    		{
    			liste = "ListeDelivery";
    			LoadListe(liste);
    			ListeDelivery1.InitDataGrid();
    			ListeDelivery1.LoadData(fte.EventName.ToString());
    			ListeDelivery1.Visible = true;
    		}
     
    		private void ListeDelivery1_OnModify(long id)
    		{
    			manage = "ManageDeliveryAll";
    			LoadManage(manage);
    			ManageDeliveryAll1.Visible = true;
    			ManageDeliveryAll1.DeliveryId = id;
    			ManageDeliveryAll1.FirstLoad = true;
    			ManageDeliveryAll1.CurrentMode = ManagerUserControl.ConvoyeurMode.Edit;
    		}
     
    .
    .
    .
     
     
     
    		private void LoadListe(string listeName)
    		{
    			PlaceHolderListe.Controls.Clear();
    			switch (listeName)
    			{
    				case("ListeAnomaly"):
    					(ListeAnomaly)ListeAnomaly1 = (ListeAnomaly)LoadControl("../Coordination/ListeAnomaly.ascx");
    					PlaceHolderListe.Controls.Add(ListeAnomaly1);
    					ListeAnomaly1.OnModify += new NotifyEventHandler(ListeAnomaly1_OnModify);
    					break;
    				case("ListeDelivery"):
    					(ListeDelivery)ListeDelivery1 = (ListeDelivery)LoadControl("../Coordination/ListeDelivery.ascx");
    					PlaceHolderListe.Controls.Add(ListeDelivery1);
    					ListeDelivery1.OnModify += new NotifyEventHandler(ListeDelivery1_OnModify);
    					break;
    				case("ListeInstallation"):
    					(ListeInstallation)ListeInstallation1 = (ListeInstallation)LoadControl("../Coordination/ListeInstallation.ascx");
    					PlaceHolderListe.Controls.Add(ListeInstallation1);
    					ListeInstallation1.OnModify += new NotifyEventHandler(ListeInstallation1_OnModify);
    					ListeInstallation1.OnCreate += new NotifyEventHandler(ListeInstallation1_OnCreate);
    					break;
    				case("ListeDeliveryVE"):
    					(ListeDeliveryVE)ListeDeliveryVE1 = (ListeDeliveryVE)LoadControl("../Coordination/ListeDeliveryVE.ascx");
    					PlaceHolderListe.Controls.Add(ListeDeliveryVE1);
    					ListeDeliveryVE1.OnModify += new NotifyEventHandler(ListeDeliveryVE1_OnModify);
    					ListeDeliveryVE1.OnCreate += new NotifyEventHandler(ListeDeliveryVE1_OnCreate);
    					break;
    				case("ListeVDSale"):
    					(ListeVDSale)ListeVDSale1 = (ListeVDSale)LoadControl("../Coordination/ListeVDSale.ascx");
    					PlaceHolderListe.Controls.Add(ListeVDSale1);
    					ListeVDSale1.OnModify += new NotifyEventHandler(ListeVDSale1_OnModify);
    					break;
    			}
     
    .
    .
    .

  5. #5
    Membre éclairé Avatar de gdkenny
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 251
    Par défaut
    Salut,

    il faut avant tout que tu maitrises le cycle de vie de la page:

    http://www.15seconds.com/issue/020102.htm
    http://www.c-sharpcorner.com/UploadF...LifeCycle.aspx

    et aussi les types delegate et event.

    Fait des recherches sur le chargement d' ascx dynamiques sur le forum, il y a beaucoup de posts.

  6. #6
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 174
    Par défaut
    Yop,

    pour le cycle de vie je penses avoir capté,

    Le souci est que voici le cycle de ma page

    1er Init -> 1er placeholder charge bien l uc correspondant
    ---- click dans l uc
    2eme Init -> 2eme placeholder charge le bon UC mais sans ces evenements
    ---- click dans la liste
    3eme Init -> plus de liste ni de details

    Donc si tu as une piste avec un exemple je suis preneur

Discussions similaires

  1. [C#][ASP 2.0] DataGrid et UserControls
    Par thallak dans le forum ASP.NET
    Réponses: 1
    Dernier message: 16/08/2007, 17h25
  2. Réponses: 6
    Dernier message: 30/07/2007, 17h17
  3. Réponses: 1
    Dernier message: 01/05/2007, 14h59
  4. usercontrol & placeholder
    Par wayak3 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 27/03/2007, 15h50
  5. XMLRAD equivalent usercontrol ASp .NET
    Par le-roy_a dans le forum XMLRAD
    Réponses: 10
    Dernier message: 10/12/2004, 14h09

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