Passaggio dati ad altra pagina con HyperLinkField

giovedì 10 giugno 2010 - 22.35

basicdany Profilo | Expert

ciao a tutti in un gridview ho un HyperLinkField definito cosi:

<asp:HyperLinkField NavigateUrl="~/Default.aspx" Text="modifica" />

vorrei passare il valore della gridview : GridView1.SelectedValue.ToString

ad un altra pagina proprio come faccio con un button

'Response.Redirect("Dettagli.aspx?gioco=" & GridView1.SelectedValue.ToString)

COME IMPLEMENTO HyperLinkField PER FAR QUESTO?


grazie a tutti

alexmed Profilo | Guru

Ciao

Dovrebbe essre così:

><asp:HyperLinkField NavigateUrl='<%# Response.Redirect("Dettagli.aspx?gioco=" & GridView1.SelectedValue.ToString) %> 'Text="modifica"

Se non funziona prova a sostituire il # con un = oppure a toglierlo.

Ciao

alexmed

basicdany Profilo | Expert

ciao, non funziona ne cosi:

<asp:HyperLinkField NavigateUrl='<%# Response.Redirect("Dettagli.aspx?gioco=" & GridView1.SelectedValue.ToString) %> ' Text="modifica" />

o

<asp:HyperLinkField NavigateUrl='<%= Response.Redirect("Dettagli.aspx?gioco=" & GridView1.SelectedValue.ToString) %> ' Text="modifica" />


perche? mi sa che risolvo il problema usando dei button.

ciao grazie

alexmed Profilo | Guru

Devi impostare solo questi parametri:


<asp:HyperLinkField
Text="Modifica"
NavigateUrl="~/Admin/Default.aspx"
DataNavigateUrlFields="IDUser"
DataNavigateUrlFormatString="~/Admin/Default.aspx?ID={0}" />

Ciao

alexmed

basicdany Profilo | Expert

ciao,grazie prima di tutto, in queste istruzione che mi hai postato:

<asp:HyperLinkField
Text="Modifica"
NavigateUrl="~/Admin/Default.aspx"
DataNavigateUrlFields="IDUser"
DataNavigateUrlFormatString="~/Admin/Default.aspx?ID={0}" />

il valore del gridview che passo quale? cosa significa questo ={0}" e DataNavigateUrlFields="IDUser"

inoltre pensavo di passare a dei button perche oltre al passaggio ad altra pagina con il valore devo anche eseguire delle istruzione in codice vb,
tranne se con hHyperLinkField posso intercettare il click e eseguire altre istruzioni, questo magari puo dirmelo tu.

grazie tanto

alexmed Profilo | Guru


><asp:HyperLinkField
>Text="Modifica"
Questo è il testo che visualizzerai nella GridView
>NavigateUrl="~/Admin/Default.aspx"
Questo è l'indirizzo al quale vuoi dirottare l'utente
>DataNavigateUrlFields="IDUser"
Questo è il nome della colonna del parametro che vuoi passare all'altra pagina
>DataNavigateUrlFormatString="~/Admin/Default.aspx?ID={0}" />
Questo è il formato con cui passi il parametro perchè venga ricevuto dalla pagina di destinazione

Se ho capito bene tu hai nella pagina una GridView con una lista di giochi e vuoi aprire il dettaglio del gioco scelto nella nuova pagina.

Quindi
Text magari ="Apri" o "Go!!!!!"
NavigateUrl = "Dettagli.aspx"
DataNavigateUrlFields = "IDGioco"
DataNavigateUrlFormatString = "~/Dettagli.asp?IDGioco={0}"

Naturalmente nella pagina di destinazione (Dettagli.aspx) dovrai avere una SELECT che prevede come SelectParameters (WHERE IDGioco = @IDGioco) una QueryStringParameter="IDGioco"


alexmed

basicdany Profilo | Expert

ciao le istruzioni che inserisco:

<asp:HyperLinkField
Text="Modifica"
NavigateUrl="~/secure/NuovaScheda.aspx"
DataNavigateUrlFields="IDimmobile"
DataNavigateUrlFormatString="~/secure/NuovaScheda.aspx?ID={0}" />

funziona!! mi indirizza all'altra pagina.

Pero all'altra pagina NuovaScheda.aspx devo passare il valore a una variabile e basta per il resto ho delle procedure mie,
io con con la tecnica usando Response.Redirect("Dettagli.aspx?gioco=" & "10") leggevo dall'altra pagina il valore in questa maniera:
dim ID1 As String
ID1 = Request.QueryString("ID")

come leggo invece il valore con tuo modo di passare il campo "id"

n.b. con Response.Redirect visualizzavo sulla pagina dove passo il valore sulla barra degli indirizzi visualizzavo il valore, qui non visualizzo.

aspetto risposta grazie tanto.


alexmed Profilo | Guru

Vedi progettino (ino ino ino) allegato

Ciao

alexmed

basicdany Profilo | Expert

ciao, ti ringrazio tanto, io pero faccio tutto manualmente, infatti nella pagina di destinazione mi serve recuperare la variabile passata da vb, questo perche riempio manualmente delle text.

HO RISOLTO COSI CON DUE BUTTON lo scrivo perche potra essere utile ad altri:

<asp:buttonfield buttontype="button" commandname="Modifica" text="Modifica" />

<asp:buttonfield buttontype="button" commandname="elimina" text="Elimina" />


Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand
Try

If e.CommandName = "Modifica" Then
'estraio indice di riga
Dim index As Integer = Convert.ToInt32(e.CommandArgument)
Dim row As GridViewRow = GridView1.Rows(index)
AppoId = row.Cells(1).Text
Response.Redirect("~/secure/NuovaScheda.aspx?IdImmobile=" & AppoId, False)
End If

Catch ex As Exception
MsgBox(Err.Description)
End Try
End Sub

se sai come recuperare da vb alla pagina di destinazione potrei usare il tuo modo, sicuramente piu bello a livello estetico invece dei pulsanti,
fammi sapere subito cosi chiudo il post


grazie tanto come sempre gentilissimo e veloce nel dare aiuto

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5