Newsgroup: it.comp.www.asp
Titolo: [ASP.NET] Passaggio valori campi form (lunghetto)

Salve a tutti, vorrei che qualcuno più ferrato mi chiarisse un dubbio. Con
asp.net
 non è più necessario disporre di due pagine per effettuare un
processo (pagina form > pagina asp) poiché la pagina aspx viene processata
direttamente dal server e restituita al browser; quindi qualsiasi calcolo o
inserimento dati avviene con una sola pagina. Ma nel caso in cui volessi
passare i risultati di un processo ad un'altra pagina per riutilizzarli in
quest'ultima come debbo fare ? Vale ancora il metodo post ? Grazie a tutti.
Stefano
sme...@tin.it
--------------------------------
Inviato via 
http://usenet.iol.it


Moderatore di it.comp.www.asp
http://www.aspitalia.com
 Enjoy the .NET community!
http://www.dev2dev.it
 La rete ha connesso nuove particelle!

 --
Se il form è nel formato classico, ok!
Ma se è in questo formato?
<html>
<body>
<form runat="server" action="seconda.aspx">
Nome:<br />
<asp:TextBox id="nome" runat="server"/><br />
<asp:button type=submit />
</form>
</body>
</html>
Se provi a premere sul pulsante non si passa alla pagina "seconda.aspx",
dunque l'action è inutilizzabile (da quanto io ho capito). Per inviare il
tutto ad un'altra pagina o si usa un form *classico* o si utilizza il
*server.transfer*... o sbaglio? :)
--
Ciao,
Andrea Z.
--

 *server.transfer*... o sbaglio? :)
certo, ovviamente io davo per scontato che si utilizzasse un form normale,
senza web server controls.


 --
I problemi nascono se si vuole inserire in un form dei dati con i
*validator controls* e inviare i dati inseriti ad un'altra pagina... Ci ho
sbattuto la testa un bel momento pensando che era una soluzione semplice...
invece...


 invece...
un bel response.redirect nel page_load e via ;)


 --
D'accordo, ma i dati raccolti nel form? Quelli non *passano* con il
response.redirect...
Si può usare questa forma:
response.redirect("seconda.aspx?id="+campo_id.text+"&nome="+ ...
ma se nel form sono contenuti tantissimi text-box sai che rottura... :)
Le soluzioni sono praticamente due per comodità secondo il mio punto di
vista:
- Utilizzare la medesima pagina .aspx per il form e per l'eventuale
registrazioni di dati.
- Utilizzare un form *classico* se si vuole trasferire dei dati inseriti da
un utente in un'altra pagina (ma in questo caso si perde la comodità dei
validator control).
Dunque, esiste un modo veloce perché dei dati inseriti nei webcontrol
vengano inviati ad un'altra pagina con il metodo GET o POST?
Avevo trovato una proprietà della funzione *transfer*, ma mi vengono
ritornati sempre errori incomprensibili sullo ViewState...
server.transfer("seconda.aspx",true)
Che consentirebbe, teoricamente, il passaggio anche del contenuto dei
webcontrol, ma tutto quello che ottengo è l'errore:
The View State is invalid for this page and might be corrupted.
O in tutta questa discussione l'unico problema sono io che mi creo
difficoltà inutili e la soluzione è più semplice di quanto credo? :)))
--
Ciao,
Andrea Z.

 difficoltà inutili e la soluzione è più semplice di quanto credo? :)))
forse un banale request.querystring.tostring dovrebbe bastare per avere
tutto, però ovviamente vale se usi il metodo POST e cmq c'hai viewstate che
devi eliminare.
io cmq ho risolto col redirect e con il passaggio dei soli campi che mi
interessano, scritti ovviamente a mano come hai specificato tu nel primo
esempio.


 esempio.
Ok, ho cancellato ogni dubbio, dunque non sbagliavo! :-)
Ciao e grazie!
--
Andrea Z.