bonsoir à tous,
j'ai un hyperlink dans un gridview, en cliquant sur cet hyperlink, une popup s'ouvre.comment je peux récupérer l'ID de la ligne (ou j'ai cliqué sur le lien)
bonsoir à tous,
j'ai un hyperlink dans un gridview, en cliquant sur cet hyperlink, une popup s'ouvre.comment je peux récupérer l'ID de la ligne (ou j'ai cliqué sur le lien)
ajoute ton id dans ton command argument quand tu bind ta ligne. ainsi tu pourras le recuperer facilement lors du click sur le lien via le postback et l evenement onclick.
comment je peux ajouter l'ID a mon command argument??
voici le code de l'hyperlink:
le code behind:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <asp:templatefield headertext="Validation"> <itemtemplate> <asp:hyperlink id="HyperLink1" runat="server" navigateurl='<%# GetNavigateUrl(Eval("valideI").ToString()) %>' text='<%# Eval("valideI") %>' /> </itemtemplate> </asp:templatefield>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 protected string GetNavigateUrl(string code) { return String.Format("javascript:var popup = window.open('Validation.aspx?code={0}', 'Popup', 'toolbar=no,width=200, height=200, top=0, left=0');", code); }
autant pour moi je confonds avec le link button. mais ce que tu veux faire c'est rediriger dans un popup pourquoi ne ps faire plus simple alors :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <itemtemplate> <A href="MaPage.aspx?id=<%# eval("valideI")%>" target=blank> mon lien </a> </itemtemplate>
je crois que ça m'envoie à une autre page mais n'ouvre pas une popup
en tout cas l idee est la.
Cela t evite de faire un aller retour serveur . Le mieux serait d'avoir une petite fonction javascript qui t'ouvrirais la popup en fonction de l'id que tu lui enverrais.
du style : href=javascript:openmapopup(<%#eval("monid") %>)
je n ai plus toute la syntaxe en tete mais cela devrait ressembler a ca en gros.
Bon courage à toi,
Si à la place, tu utilises un LinkButton, tu peux lui définir un CommandName.
Ensuite tu crées un événement RowCommand sur ton gridView.
Dans celui-ci tu peux mettre
ça peut peut-être t'aider
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 if (e.CommandName == "nom_commande") { // index de la ligne sélectionnée int index = Convert.ToInt32(e.CommandArgument); //tu récupères l'id grâce au DatakeyName que tu as défini sur le GridView (Nom_id_de_ta_table) string idLigne = monGridView.DataKeys[index].Value.ToString(); //ensuite tu ouvres ta popup et lui passe l'id Response.Write("<body><script>window.open('maPopup.aspx?idAPasser' + idLigne, 'AjouteSociete');</script></body>"); }
Partager