Passagio di parametri tra 2 webform

giovedì 09 novembre 2006 - 11.08

tecnovico Profilo | Junior Member

Salve a tutti,
ho 2 web form, A e B. Nella pagina A ho una gridview che elenca il risultato di un query (il gridview è associato ad un data set attraverso codice: GridView1.DataSource = MydataSet; e GridView1.DataBind();).
Le colonne elencate non sono tutte quelle possibili ma una parte.
Alla gridview ho aggiunto un pulsante buttonfield alla cui pressione vorrei aprire un altra pagina per visualizzare il dettaglio della riga (quindi tute le colonne).
La mi aidea era questa:

Stato attuale: il dataset visualizzato dal controllo server gridview non contiene tutte le colonne, ma la query eseguita ha la select solo di alcune(che sono quelle visualizzate)
Per eseguire la visualizzazione del dettaglio:
1) passare alla pressione del pulsante della relativa riga l'id preso dalla colonna del gridview( non so come via codice) ed nel loadpage della pagine b eseguire la query e visualizzare il risulato.

2)associare alla gridview della pagina A un dataset con tutte le righe visualizzandone solo alcune nella gridview, e alla pressione del pulsante associato alla riga passare il data set e l'id(mi riferisco a quello della tabella e non all'indice della gridview) della riga da visualizzare. Cosi nella pagina B prendo dal data set la riga con quell'id

3) associare alla gridview della pagina A un dataset con tutte le righe visualizzandone solo alcune nella gridview e alla pressione del pulsante associato alla riga passare alla pagina direttamente i valori di tutte le colonne della riga per poi visualizzarli nel webform B

Cosa mi cosigliate fra le tre? avete altre proposte? mi fornireste il codice per implementare le tre solozioni?

GRazie mille....


giuseppe.incognito Profilo | Newbie

Salve,
se ho capito bene ti serve quanto segue:

Pagina A: elenco generico, con pulsante che punta a pagina B dei dettagli rigo selezionato?

Allora potresti fare nel seguente modo:
Aggancia dinamicamente al pulsante di ogni riga l'ID rigo in modo tale che quando la pagina B viene richiamata legga dai parametri l'ID ed esegua la query sql.
Esempio:

Pagina A.
<Columns>
<asp:TemplateColumn HeaderText="Apri..." ItemStyle-HorizontalAlign="Right"
ItemStyle-Width="75px">
<ItemTemplate>
<a href='paginab.aspx?ID=<%#Databinder.Eval(Container.Dataitem, "ID")%>'>
<%#Databinder.Eval(Container.Dataitem, "ID")%></a>
</ItemTemplate>
</asp:TemplateColumn>
...

Pagina B.
Nella Load ti ricavi l'ID passato dal link precedente come parametro...
e poi fai la query...
Ecco come recuperare il parametro:
string tt = Request("ID")

Spero di essere stato chiaro.
Saluti
Giu.

Giuseppe I.

StefanoLep Profilo | Senior Member

Ciao, volevo solo ringraziarti perchè ho sbattuto la testa contro questo problema per un sacco di ore, è il primo post chiaro, completo e funzionante che trovo (e ti assicuro che ne ho letti almeno un centinaio anche su MSDN e in inglese). Non ho aperto io il post e quindi non posso accettare la risposta ma ci tengo moltissimo a ringraziarti GRAZIE!!!!!! :-)
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