Visual Web Developer: problema gestione procedure

sabato 02 aprile 2011 - 01.39

DeGregoriano Profilo | Newbie

Salve a tutti,

In Visual Web Developer avrei bisogno di lanciare una procedura (che chiamo z) in modo automatico dopo aver visualizzato una immagine attraverso un'altra procedura (che chiamo x). Se unissi le due procedure (ad esempio chiamando la procedura z nella procedura x) l'immagine si visualizzerebbe solamente dopo che è stata completata la procedura z. Ad esempio, banalmente, se la procedura x visualizza una immagine mentre la procedura z mostra un msgbox io vorrei prima vedere l'immagine (procedura x generata da un click ad esempio) e poi che mi compaia il msgbox (procedura z lanciata in "modo automatico")

grazie mille per l'attenzione.

alx_81 Profilo | Guru

>Salve a tutti,
Ciao

>In Visual Web Developer avrei bisogno di lanciare una procedura
>(che chiamo z) in modo automatico dopo aver visualizzato una
>immagine attraverso un'altra procedura (che chiamo x). Se unissi
>le due procedure (ad esempio chiamando la procedura z nella procedura
>x) l'immagine si visualizzerebbe solamente dopo che è stata completata
>la procedura z. Ad esempio, banalmente, se la procedura x visualizza
>una immagine mentre la procedura z mostra un msgbox io vorrei
>prima vedere l'immagine (procedura x generata da un click ad
>esempio) e poi che mi compaia il msgbox (procedura z lanciata
>in "modo automatico")
Quello che ti serve è un cambiamento di approccio, credo che per fare una cosa simile tu debba ricorrere ad esecuzioni asincrone e quindi, trattandosi di web, a tecnologia AJAX.
Se la prima procedura carica l'immagine e quindi se il documento html è creato con tanto di immagine visualizzata correttamente, puoi gestire lato html/javascript l'evento di "fine caricamento pagina" o "fine caricamento immagine" per poi lanciare, sempre via js, un'altra procedura che sta sul server (e qui interviene ajax). Per capirci, si cerca di ottenere quei comportamenti che non impongono il refresh della pagina andando invece a lanciare altre procedure senza mai lasciare il contesto grafico creato. Puoi utilizzare framework js che facilitano la scrittura del codice lato client, e, ad esempio con jQuery, puoi andare a utilizzare il metodo post: http://api.jquery.com/jQuery.post/
Con esso puoi lanciare una tua pagina aspx che gestisce la procedura z in asincrono e indipendentemente dallo stato della pagina da cui richiami, otterrai nel tempo una callback che è la risposta a quella chiamata. Nella callback vai a fare tutte le considerazioni che ti servono dopo l'esecuzione della procedura z (uno status, un messaggio, una ulteriore logica).
Riassumendo:
- carichi la pagina contenente l'immagine e lanciando la procedura x
- quando l'immagine è caricata o meglio quando la pagina html è pronta, sul client (e lo controlli con jQuery, evento ready: http://api.jquery.com/ready/) lanci il post su un'altra pagina
- la pagina, nella load ad esempio, lato server lancia la procedura z e dà una risposta
- la risposta viene automaticamente tornata nella sezione callback del metodo post, dove un oggetto response può essere utilizzato anche per dare feedback all'utente


>grazie mille per l'attenzione.
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5