9 messaggi dal 06 gennaio 2017
Salve ragazzi.
Premetto che sono un principiante e mi sto dilettando con il mio primo progetto Web.
In sintesi il progetto è questo:
Ho un Web Form che con un tasto esegue una serie di calcoli.
Ad un certo punto della rutin ho bisogno che la stessa rutin apre una finestra in modale, l'utente sceglie i parametri su di essa, conferma il tutto e chiudere la finestra.
Con la chiusura la rutin acquisisce le variabili impostate nella precedente finestra e continuare fino a completare il calcolo.
Il problema è la finestra.
Ho provato con un ModalPopupExtender ove il panel visualizza il mio web From con le scelte da fare.
La rutin apre il Web From ma il controllo non passa alla finestra ma continua ad eseguire la rutin, e quindi esegue i calcoli senza che vengano prima impostate le variabili.
Potete aiutarmi ..
Grazie
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Antonio, buon anno e benvenuto nel forum!
Dovresti mostrare il codice che stai usando, anche se dalla tua descrizione mi sembra di intuire una questione concettuale che va chiarita.


La rutin apre il Web From ma il controllo non passa alla finestra ma continua ad eseguire la rutin

E' normale che sia così perché in una pagina web non hai un'interazione sincrona con l'utente come ce l'avresti in un'applicazione per Windows. Mi spiego meglio: la tua aspettativa è che la routine si metta "in pausa" in attesa che l'utente faccia la sua selezione che poi riprenda dal punto in cui si era interrotta.
Questo non è possibile perché l'utente non vede apparire nulla nel browser finché la WebForm in esecuzione.

L'istruzione che stai usando per aprire la finestra (presumo ModalPopupExtender1.Show?) non è bloccante ma predispone giusto il javascript che causerà l'apertura della finestra in un secondo momento, quando ormai la routine è già stata tutta eseguita e l'output di pagina è stato inviato al browser dell'utente.

Quindi, devi spezzare l'esecuzione su due routine: una che serve ad aprire la finestra ed un'altra che va in esecuzione alla chiusura della finestra da parte dell'utente (es. da legare all'OnClick del bottone di chiusura).

In questo esempio vedi appunto come gestire l'evento Click di un bottone per raccogliere la scelta dell'utente.
http://www.ezzylearning.com/tutorial/using-asp-net-ajax-modelpopupextender-from-server-side

Ti posso chiedere il motivo per cui stai iniziando da ASP.NET WebForms anziché studiare tecnologie più moderne come ASP.NET MVC e ASP.NET WebAPI?

ciao,
Moreno

Enjoy learning and just keep making
9 messaggi dal 06 gennaio 2017
Grazie Moreno hai centrato il problema.
Provo un po a gestire con una doppia rutin.
Adesso devo capire come dal Form secondario devo avviare la seconda rutin sul form principale.
Leggo un po il link e vedo se ci riesco.
Per quanto attiene alle tecnologie da te citate sono talmente principiante che non conosco nemmeno la differenza.
Faccio un'altro lavoro e solo per passione ho imparato un po il VB e ora anche un pochino, molto pochino, di C#.
Ho scritto dei programmini legati al mio lavoro e volevo tentare di pubblicare qualcosa.
Ho avviato il mio VB express e ho iniziato.
Grazie ancora qualunque consiglio e ben accettato.
4 messaggi dal 01 maggio 2014
BrightSoul ha scritto:
Ciao Antonio, buon anno e benvenuto nel forum!
Dovresti mostrare il codice che stai usando, anche se dalla tua descrizione mi sembra di intuire una questione concettuale che va chiarita.


La rutin apre il Web From ma il controllo non passa alla finestra ma continua ad eseguire la rutin

E' normale che sia così perché in una pagina web non hai un'interazione sincrona con l'utente come ce l'avresti in un'applicazione per Windows. Mi spiego meglio: la tua aspettativa è che la routine si metta "in pausa" in attesa che l'utente faccia la sua selezione che poi riprenda dal punto in cui si era interrotta.
Questo non è possibile perché l'utente non vede apparire nulla nel browser finché la WebForm in esecuzione.

L'istruzione che stai usando per aprire la finestra (presumo ModalPopupExtender1.Show?) non è bloccante ma predispone giusto il javascript che causerà l'apertura della finestra in un secondo momento, quando ormai la routine è già stata tutta eseguita e l'output di pagina è stato inviato al browser dell'utente.

Quindi, devi spezzare l'esecuzione su due routine: una che serve ad aprire la finestra ed un'altra che va in esecuzione alla chiusura della finestra da parte dell'utente (es. da legare all'OnClick del bottone di chiusura).

In questo esempio vedi appunto come gestire l'evento Click di un bottone per raccogliere la scelta dell'utente.
http://www.ezzylearning.com/tutorial/using-asp-net-ajax-modelpopupextender-from-server-side

Ti posso chiedere il motivo per cui stai iniziando da ASP.NET WebForms anziché studiare tecnologie più moderne come ASP.NET MVC e ASP.NET WebAPI?

ciao,
Moreno


Concordo pienamente . Ho usato per anni ruotine Ajax o codice Javascript negli eventi client OnClientClick deglielementi button per fare le stesse cose. Ma la soluzione MVC o Web Api e' piu' performante . Inizia da quella :)
Modificato da franco.pastone il 08 gennaio 2017 11.06 -

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.