PB avec les place holder et les menu

happouh Messages postés 17 Date d'inscription mardi 4 juillet 2006 Statut Membre Dernière intervention 4 mai 2010 - 15 juil. 2009 à 11:45
happouh Messages postés 17 Date d'inscription mardi 4 juillet 2006 Statut Membre Dernière intervention 4 mai 2010 - 24 juil. 2009 à 13:37
Bonjour à tous!
J'ai un GROS problème que je n'arrive pas a résoudre tout seul:

Voici le contexte:
J'ai une page (projet.aspx) contenue dans une masterpage.
Cette page (projet.aspx) contient un menu et 4 lcontent place holder. Au démarrage,La page n'affiche que le menu.
Je voudrais pouvoir selectionner le placeholder à afficher en fonction de l'item selectionné dans le menu.
J'y arrive avec ce code:

___________________
protected void Menu2_MenuItemClick(object sender, MenuEventArgs e)
{

//= Convert.ToString(Session["MonMenu"]);

Session["MonMenu"] = Menu2.SelectedItem.Value;

if (Convert.ToString(Session["MonMenu"]) == "MesProjets")
{
PlaceHolder1.Visible = true;
PlaceHolder2.Visible = false;
PlaceHolder3.Visible = false;
PlaceHolder4.Visible = false;
PlaceHolder1.Controls.Clear();

Control cl = LoadControl("CUMesProjets.ascx");
PlaceHolder1.Controls.Clear();
PlaceHolder1.Controls.Add(cl);
//frameprojet.Attributes.Add("src", "MesProjets.aspx");
}
else
{.............

__________________

Seulement voila, losque que je fait une manipulation (par exemple lorsque je choisis une ligne d'un datagrid contenu dans CUMesProjets.ascx(=contentplace1) (donc valid du formulaire), tout ce recharge et je n'ai plus de content place holder de selectionné.
J'ai essayé de mettre une variable pour connaitre l'item cliqué du menu et en fonction de cela, afficher dans le onload, le bon place holder mais comme l'evenement Onload de ma page est effectuée avant le menu_onclick, j'ai toujour un décalage, c-a-d que je dois cliquer deux fois pour voir afficher ce place holder voulu.

La moindre idée sera la bienvenue.

Merci d'avance!

3 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
15 juil. 2009 à 14:18
Question ASP.NET donc il faut aller sur le forum asp.net !

http://www.aspfr.com
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
19 juil. 2009 à 18:38
Bonjour, je te déconseille d'utiliser les controles dynamiques (Page.LoadControl). Apparemment ce que tu essayes de faire c'est imiter le comportement du controle multiview ? je te conseille donc d'utiliser ce controle, de mettre en dur tes usercontrols dans chacune de tes views. Je ne suis pas sur que cela résolve ce soucis, mais déjà on y verra plus clair et cela évitera d'autre soucis.

____________________________________________
Cyril - MVP ASP.net - [url=http://www.cyrildurand.net]Consultant ind
0
happouh Messages postés 17 Date d'inscription mardi 4 juillet 2006 Statut Membre Dernière intervention 4 mai 2010
24 juil. 2009 à 13:37
Merci pour ta réponse.
J'avait des pb de requete en utilisant la methode des multiview. Mais c'etait trop compliqué de gérer tout ca notemment au niveau des requetes.
J'ai choisis une autre solution bien plus lourde mais bcp plus simple et propre: Une page par sous menu.
Juste une question: Comment definir un item de menu par défaut?
0
Rejoignez-nous