226 messaggi dal 08 ottobre 2010
Ho trovato quello che volevo fare!

http://www.codeproject.com/Articles/37539/Redirect-and-POST-in-ASP-NET
1.495 messaggi dal 27 dicembre 2005
Puoi sempre usare Ajax e un UpdatePanel.

Il giorno 05 ottobre 2012 00 9, BrightSoul
<daemon@forum.aspitalia.com> ha scritto:

Sì, volendo farlo server-side puoi gestire l'evento SelectedIndexChanged del RadioButtonList e poi cambiare il PostbackUrl del bottone. Però preferisco la soluzione client-side perché penso che l'utente non si aspetti un ricaricamento di pagina al click su un radio button. E' preferibile evitare di tornare al server solo per mostrare o nascondere un elemento dell'interfaccia.
>
> E' possibile a runtime reindirizzare l'utente su un url passandogli un > chiamata costruita ad hoc?
>
uhm, spiega il problema che devi risolvere.
ciao
--
- So what you're saying is, if we get in trouble, there's no one to help us
out?
- I'm afraid not.
- Fantastic!


******
Per modificare la tua iscrizione: http://ml.aspitalia.com/


11.886 messaggi dal 09 febbraio 2002
Contributi
totti240282 ha scritto:

Puoi sempre usare Ajax e un UpdatePanel.

E' una possibilità anche questa ma, anche se l'utente non avrà l'impressione la pagina si stia ricaricando, l'aggiornamento richiederà comunque un po' di tempo. Infatti si verificherà lo stesso una richiesta al server contenente tutti i dati del form, viewstate compreso. Siccome si tratta semplicemente di cambiare la visibilità di un elemento, è preferibile che di questo se ne occupi il javascript.

Verce84 ha scritto:

Purtroppo non sono ferratissimo, ma per ipotesi: sarebbe possibile, dopo il click, fargli fare un autopostback

sì, è appunto l'esempio che hai trovato ma che il quadro della situazione è più completo posso consigliarti una soluzione più semplice, che non richieda neanche il javascript.

Dunque, tu hai un ecommerce e siamo nella pagina in cui l'utente sceglie la modalità di pagamento. Io farei così: lascia che l'utente selezioni una qualsiasi delle radio button e poi crea un solo asp:Button (non due) per fargli completare l'ordine. Si verificherà un postback alla pagina stessa e in quel momento scriverai l'ordine nel database e reindirezzari l'utente ad una pagina di riepilogo dei prodotti ordinati.
Lì, in base alla modalità di pagamento scelta, visualizzerai anche un bottone per avviare il pagamento.
Nel caso abbia scelto Paypal, tale bottone deve trovarsi dentro un form "semplice", cioè senza runat="server", che contenga tutti i campi hidden richiesti da Paypal. Il click sul bottone "Paga" scatenerà il post verso la pagina di pagamento Paypal.
Fai attenzione: il form deve trovarsi al di fuori dell'altro form runat="server" che solitamente si trova in pagine Asp.Net Web Forms e devi fare in modo che il name dei campi hidden sia esattamente quello richiesto da Paypal, non puoi lasciare che Asp.Net li generi seguendo la sua convenzione di nomi. Per riguadagnare il controllo sull'attributo name dei controlli, in Asp.Net4 puoi usare l'attributo ClientIDMode="Static".


Così non devi fare autopostback e hai anche il vantaggio che l'utente, se non vuole pagare subito, potrà tornare nella pagina di riepilogo dell'ordine in qualsiasi momento e trovare lì il bottone per avviare la procedura di pagamento.

ciao
Modificato da BrightSoul il 06 ottobre 2012 14.16 -

Enjoy learning and just keep making
93 messaggi dal 25 maggio 2005
Verce84 ha scritto:
Ho trovato quello che volevo fare!

http://www.codeproject.com/Articles/37539/Redirect-and-POST-in-ASP-NET



si esatto, è una versione un po' più raffinata di quello che ti avevo detto io.
Questo codice non va a cambiare la proprietà action del form esistente, ma ne crea uno nuovo copiando tutti i valori.


Credo comunque che la soluzione corretta sia quella proposta da brightsoul, ovvero farlo in 2 passaggi. Molto meglio!!!!

ciao
Modificato da Gluck il 09 ottobre 2012 17.17 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.