Gridview caricato da un'altra pagina

martedì 12 marzo 2013 - 15.00

jjchuck Profilo | Senior Member

ciao a tutti...
spero non sia una domanda stupida...
su una pagina asp ho dei controlli server classici (ddl,txtbox,listbox...ecc) che definiscono una stringa sql la quale poi alimenta un datareader che a sua volta "alimenta" una gridview che sta sempre nella stessa pagina: vorrei poter sganciare la gridview e metterla su un altra pagina perchè i controlli che generano la query sono 18...per questioni non solo estetiche vorrei poter caricare da un button_clik l'altra pagina e bindare i dati
come si fa?

algraps Profilo | Junior Member

>ciao a tutti...
>spero non sia una domanda stupida...
>su una pagina asp ho dei controlli server classici (ddl,txtbox,listbox...ecc)
>che definiscono una stringa sql la quale poi alimenta un datareader
>che a sua volta "alimenta" una gridview che sta sempre nella
>stessa pagina: vorrei poter sganciare la gridview e metterla
>su un altra pagina perchè i controlli che generano la query sono
>18...per questioni non solo estetiche vorrei poter caricare
>da un button_clik l'altra pagina e bindare i dati
>come si fa?
>
Ciao, la domanda non e' stupida... Allora lascia i controlli nella pagina1 e inserisci tutto all'interno di un tag form: e poi nell'altra pagina leggi nel Load i paramentri che arrivano Ecco qualche link:
http://msdn.microsoft.com/en-us/library/ms178140%28v=vs.100%29.aspx
http://www.c-sharpcorner.com/UploadFile/desaijm/ASP.NetPostURL11282005005516AM/ASP.NetPostURL.aspx

Ciao
Fammi Sapere...

A.G.
http://nothingnessit.wordpress.com/

jjchuck Profilo | Senior Member

Ho letto velocemente ...ma non ho capito granchè...

allego un esempio funzionante di due pagine...sulla prima inserisci un intervallo date (01/01/1998, 31/01/1998) e poi il gridview che
vedi sotto lo vorrei vedere nella default2

...non capisco come passare i parametri che colleziono lato server al caricamento della defalut2?

algraps Profilo | Junior Member

>Ho letto velocemente ...ma non ho capito granchè...
>
>allego un esempio funzionante di due pagine...sulla prima inserisci
>un intervallo date (01/01/1998, 31/01/1998) e poi il gridview
>che
>vedi sotto lo vorrei vedere nella default2
>
>...non capisco come passare i parametri che colleziono lato server
>al caricamento della defalut2?

Ciao,
ho sistemato la Default.aspx e la Default2.Aspx.Vb. Ricordati di spostare il caricamento della Gridview nella pagina 2.
Adesso prova a caricare il tutto. Cmq il mio consiglio e' di studiare un po' i metodi POST e GET, l'oggettp REQUEST e l'oggetto RESPONSE di asp.net. ecco una guida per iniziare http://www.html.it/guide/guida-aspnet-20/ e il link del paragrafo che parla di questo: http://www.html.it/pag/16642/scambio-di-dati-tra-web-form/

Fammi sapere
A.G.
http://nothingnessit.wordpress.com/

andrestu Profilo | Expert

in alternativa hai altri due possibilità che ti slegano totalmente dalla pagina precedente:

1- salvare i parametri in session e recuperarli nella seconda pagina
Session["parametro1"] = ...

2- passare i parametri tramite querystring
Server.Transfer("~/Pagina.aspx?par1=id...");


Andrea Restucci - Web Developer

jjchuck Profilo | Senior Member

Convalida di viewstate MAC non riuscita

...cmq grazie...debbo capire bene come funziona

totti240282 Profilo | Guru

Ma con Server.Transfer i parametri non vengono passati tramite Post ?
C'è solo un capitano !!!!!!

andrestu Profilo | Expert

con Server.Transfer sei tu che crei la stringa della url della nuova pagina, quindi puoi usare i parametri postati oppure qualsiasi altra logica che preferisci.
In questo caso il Server.Transfer lo farei all'interno di un evento tipo "Button_Click", se non sono molti i parametri da passare secondo me questa è la strada più sbrigativa e in più ti da il vantaggio che la pagina di destinazione non è legata a quella precedente quindi se per esempio poi vuoi sfruttare la stessa pagina però per altri dati differenti prelevati da un ulteriore pagina lo puoi fare, ovvio che il roundtrip al server si può evitare se ti crei la url da client ma questo è ancora tutto un altro discorso...

<%@ PreviousPageType VirtualPath=”~/Default.aspx” %>

Questo se non ho capito male serve a "tipizzare" la proprietà previousPage in modo da poter accedere alle proprietà della pagina precedente, ovvio che alla pagina non ci devi arrivare tramite link diretto altrimenti l'oggetto risulta null.
Forse però a rigor di logica anche senza direttiva si può accedere alla pagina precedente, con la reflection, dico forse perchè non lho provato.

In ogni caso legarsi in qualche modo alla pagina precedente ha lo svantaggio che ho detto prima...

Andrea Restucci - Web Developer
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