Ho un datagrid di questo tipo:
![]()
Vorrei fare in modo che al premere del pulsante di select si venga reindirizzati ad un'altra pagina passandogli l'id del record che è stato selezionato.
Come posso fare?
Ho un datagrid di questo tipo:
![]()
Vorrei fare in modo che al premere del pulsante di select si venga reindirizzati ad un'altra pagina passandogli l'id del record che è stato selezionato.
Come posso fare?
Devi fare una CustomColumn con un <asp:Linkbutton con testo "Select", che se ricordo bene ha un CommandArgument. In questo devi mettere il valore dell'ID del record in questo modo:
Poi nell'evento _ItemCommand del DataGrid, fai il redirect alla pagina prendendo l'ID.codice:<asp:Linkbutton ... CommandArgument='<%# Container.DataItem("ID") %>'
codice:Sub datagrid_ItemCommand ... Handles datagrid.ItemCommand Dim pagina as string = "visualizza.aspx?ID=" & e.CommandArgument.ToString Response.Redirect(pagina) End Sub
Oppure c'e' un modo piu' semplice, basta impostare DataKeyField="id" nel tag del datagrid (senza impostare il CommandArgument nel LB) e nell'evento sopracitato andare all'altra pagina in questo modo:
Tutto a memoria, scusa eventuali imperfezionicodice:Sub datagrid_ItemCommand ... Handles datagrid.ItemCommand Dim pagina as string = "visualizza.aspx?ID=" & dataGrid.DataKeys.Item(e.Item.ItemIndex) Response.Redirect(pagina) End Sub![]()
press play on tape
-----
MP3 Listing
https://sourceforge.net/projects/mp3-listing
File Listing
https://sourceforge.net/projects/file-listing-2-0/
Puoi anche fare una magata di questo tipo (il codice è C#):
è un modo meno raffinato, però funziona, ovviamente il codice che ti ho scritto deve essere inserito in un metodo richiamato alla pressione del pulsante di selezione della riga.codice:protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { int index = Convert.ToInt32(e.CommandArgument); GridViewRow row = this.GridView1.Rows[index]; int id = Convert.ToInt32(row.Cells[INDICE CELLA].Text.ToString()); ...
Ciao![]()
Antonello