Passaggio dati tramite hyperlinkfield

domenica 19 novembre 2006 - 11.29

fiore Profilo | Newbie

Ciao,
in una pagina popolo un gridview tramite un accessDataSource e la visualizzo.Tutto OK.
A questo punto dovrei clikkare su un hyperLinkFields presente nel gridview e aprire un'altra pagina trasportandomi dietro il codArticolo del prodotto:la pagina si apre, ma il codice articolo lo perdo strada facendo. Qualcuno ha voglia di darmi spiegazioni in merito?
Grazie

alx_81 Profilo | Guru

>Ciao,
Ciao!

>in una pagina popolo un gridview tramite un accessDataSource
>e la visualizzo.Tutto OK.
>A questo punto dovrei clikkare su un hyperLinkFields presente
>nel gridview e aprire un'altra pagina trasportandomi dietro il
>codArticolo del prodotto:la pagina si apre, ma il codice articolo
>lo perdo strada facendo. Qualcuno ha voglia di darmi spiegazioni
>in merito?

Come fai a portarti il codice nella nuova pagina? Prova a postare la parte di codice in cui crei l'url di navigazione.. Probabilmente l'errore sta proprio lì..
ciao!

>Grazie

Alx81 =)

http://blogs.dotnethell.it/suxstellino

fiore Profilo | Newbie


>come fai a portarti il codice nella nuova pagina? Prova >a postare la parte di codice in cui crei l'url di >navigazione.. Probabilmente l'errore sta proprio lì..
>ciao!

allora,gli passo il parametro tramite il dataNavigateUrlFormatString e vado a leggerlo con un request(premetto che con un dataGrid funziona),ma non funziona.Sono riuscito a farlo funzionare sostituendo il link con un pulsante edit,andando a leggere sull'evento GridView1_SelectedIndexChanged il valore della cella interessata ,mi sposto di pagina con un server.transfer e mi porto dietro il dato con una session,ma non credo proprio che sia la maniera giusta.Consigli su come fare? p.s. io uso Visual Studio 2005 e non mi piave molto mettere mano nel codice html
Ancora grazie

alx_81 Profilo | Guru

>allora,gli passo il parametro tramite il dataNavigateUrlFormatString
>e vado a leggerlo con un request(premetto che con un dataGrid
>funziona),ma non funziona.Sono riuscito a farlo funzionare sostituendo
>il link con un pulsante edit,andando a leggere sull'evento GridView1_SelectedIndexChanged
>il valore della cella interessata ,mi sposto di pagina con un
>server.transfer e mi porto dietro il dato con una session,ma
>non credo proprio che sia la maniera giusta.Consigli su come
>fare? p.s. io uso Visual Studio 2005 e non mi piave molto mettere
>mano nel codice html

Mettere mano nel codice HTML è buona cosa .. è sempre bene ottimizzare quello che VS ti propone.. ma a parte questo, non capisco cosa intendi per "vado a leggerlo con un request".. Intendi che il valore preso dalla form in postback lo passi alle colonne della grdiview? in che modo? nel code behind prendi la request.form e scrivi direttamente al databound del gridview?
Ho provato a scrivere un esempio e l'hyperlink funziona correttamente.. Ho impostato un pattern nel FormatString e ho deciso quale campo collegare al formato stringa..

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Se provi a darmi maggiori dettagli posso esserti più di aiuto.. Perchè nel passaggio con "request" come lo definisci, potrebbe succedere ogni cosa . Magari prova a postare ilvb/cs.. ok?
Fammi sapere..

>Ancora grazie
Di nulla..
ciao!
Alx81 =)

http://blogs.dotnethell.it/suxstellino

fiore Profilo | Newbie

dunque,intando ribadisco che io lavoro in vb e se andassi a scrivere a manina quello che mi hai postato tu sicuramente non funzionerebbe + nulla.Quello che faccio io è questo:inserisco nel campo NavigateUrl l'indirizzo della pagina asp in cui devo andare e nel campo(sempre riferito al gridview)dataNavigateUrlFormatString scrivo "articoli.aspx?id={0}"(sottolineo il fatto che il dataKeyNames è impostato su id ?!?)Quindi clikko sul link,si sposta correttamente nella pagina alla quale nell'evento load ho associato questo codice di prova:"TextBox1.Text = Request.QueryString("id")"Risultato:non funziona nulla.Dove sbaglio?????Ciao e mille grazie

RETTIFICO: grazie al tuo esempio ho constatato che mancava il ***DataNavigateUrlFields="idImmagine"***
messo quello funziona tutto

Grazie mille

P.s. Tu invece come recuperi la stringa???

alx_81 Profilo | Guru

>dunque,intando ribadisco che io lavoro in vb e se andassi a scrivere
>a manina quello che mi hai postato tu sicuramente non funzionerebbe
>+ nulla.
Non capisco come mai, visto che ti ho postato del HTML..

>
>P.s. Tu invece come recuperi la stringa???
Ora ho capito come e dove usi il request.. avrei utilizzato lo stesso metodo.. avevo frainteso, credevo utilizzassi il request per passare l'id al DataFormatStringUrl..
tutto a posto

ciao!
Alx81 =)

http://blogs.dotnethell.it/suxstellino

kontimatteo Profilo | Newbie

Scuate se mi inserisco ma avrei una domanda, io voglio passare diversi valori nella query string sempre da hyperlink di una gridview:
questo è il mio codice:

recordset che popola la gridview composto da: id,matricola,file,descrizione,anteprima

<asp:HyperLinkField DataNavigateUrlFields="id,matricola,file" DataNavigateUrlFormatString="~/loggati/esplosi.aspx?id={0}&matricola={1}&file={2}" HeaderText="Visualizza" Target="_blank" Text="Vedi" />

Voglio aprire la pagina esplosi.aspx con la querystring composta da quei parametri stringa(id,matricola,file)
In questo modo non passa niente...dove sbaglio? Grazie. Utilizzo Vb.
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5