Bonjour,
Je développe une appli ASP/C#.NET.
Je manipule des gridviews, mais je suis bloqué sur le pb suivant :
Dans mon Page_load, je génère une gridview ("mère").
Lorsque je clique sur un linkbutton de ma gridview (créé dans le rowdatabound), je remplis deux autres gridviews ;
pour l'exemple : imaginons que la gridview principale soit une liste de marques d'ordinateurs, et les deux autres qui en dépendent, soient des listes d'écrans et d'unités centrales. Quand je choisis une marque, alors je remplis les UC et écrans de cette marque.
Les gridviews d'écrans et d'UC contiennent elles-mêmes des linkButtons créés dans leurs méthodes RowDataBound ;
lorsque je clique sur ces linkbuttons, je souhaite simplement être redirigé sur d'autres pages, mais rien ne se passe : la page courante se recharge, et je perds les données affichées dans les gridviews filles.
Voici le code qui, dans le rowdatabound de mes deux gridviews "filles" crée les linkbuttons :
La fonction "actionDetailsAbonne" :Code:
1
2
3
4
5
6 LinkButton lkbAbonne = new LinkButton (); lkbAbonne.Text = e.Row.Cells[0].Text; lkbAbonne.Click += new EventHandler (actionDetailsAbonne); e.Row.Cells[0].Text = ""; e.Row.Cells[0].Controls.Add (lkbAbonne);
Code:
1
2
3
4 LinkButton boutonAbonne = (LinkButton) sender; string[] listeArguments = boutonAbonne.ID.Split ('|'); Response.Redirect ("~/abonnes.aspx?ref=" + listeArguments[1] + "&bra=" + listeArguments[2], false);
Autre point : si je charge directement mes gridviews filles dès le page_load comme ceci :
alors les linkbuttons fonctionnent.Code:
1
2
3
4
5
6
7 preparerGridViewMere (); if (Request.QueryString["se"] != null) { preparerGridViewFille1 (Request.QueryString["se"]); preparerGridViewFille2 (Request.QueryString["se"]); }
Donc : dans le cas où je charge un élément spécifique de ma gv mère dès l'ouverture de la page, avec un paramètre dans l'URL, tout fonctionne.
Mais dans le cas où je sélectionne un élément de ma gv mère, alors les liens des gv fille générées ne fonctionnent pas.
Quelque chose m'échappe dans ce système de post_back, mais après de longues séances de débug, je ne vois pas...
Pourriez-vous me dépanner svp ?
J'espère avoir été clair, et avoir fourni assez de code.
Merci d'avance,