Messaggio di attesa.

lunedì 03 settembre 2012 - 18.07

Geronimo79 Profilo | Junior Member

Un saluto a tutti gli amici di Dotnethell. Ho un'applicazione asp.net 4.0 e nel momento in cui va a compilarmi un file in word mi dovrebbe mostrare una scritta tipo "Attendere prego...." in un div e contemporaneamente mostrare un file immagine gif in un'altro div....il problema sorge nel momento in cui eseguo questo codice:

System.Threading.Thread.Sleep(5000)
ClientScript.RegisterStartupScript([GetType](), "Javascript", "javascript: hideImage(); ", True)
Response.Redirect("~/Mode/X21.doc")

Mi esegue lo sleep e poi passa direttamente al response.redirect saltando la seconda riga del codice!! Se invece tolgo il response.redirect mi esegue correttamente la funzione java (che allego):

<script type="text/javascript"> function hideImage() { if (document.getElementById) { document.getElementById('WER').style.visibility = 'hidden'; } } function showImage() { if (document.getElementById) { document.getElementById('WER').style.visibility = 'visible'; } } </script>

Non capisco dove sbaglio.
Grazie a tutti.
Un saluto.

Gluck74 Profilo | Guru

non è che salta la riga. la riga è stata eseguita, ma il risultato è ancora nel buffer della response. Facendo il redirect, viene svuotato per poter inviare il file doc.


____________
http://glucolo.wordpress.com
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

Geronimo79 Profilo | Junior Member

Come posso risolvere quindi???

Gluck74 Profilo | Guru

prendi spunto da qui (http://glucolo.wordpress.com/2011/06/20/long-running-task-with-asp-net/), anche se è scritto per ASP.NET 2.0
Usando il 4.0 dovresti avere degli strumenti più avanzati.

ciao

____________
http://glucolo.wordpress.com
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

Geronimo79 Profilo | Junior Member

Grazie x la dritta, forse ho risolto così:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Funzione java:

<script type="text/javascript"> function Loc() { window.open("/Mode/X21.doc"); } </script>

Sembra funzionare però mi viene un dubbio: window.open è l'equivalente di response.redirect? Siccome lo stò testando in locale e ora non ho la possibilità di fare una prova client/server non vorrei che il documento word mi venga aperto sulla macchina server e non sul client.
Un saluto.
Grazie.

Gluck74 Profilo | Guru


>
>Sembra funzionare però mi viene un dubbio: window.open è l'equivalente
>di response.redirect?
no, è una funzione javascript che opera esclusivamente sul brawser lato client


>Siccome lo stò testando in locale e ora
>non ho la possibilità di fare una prova client/server non vorrei
>che il documento word mi venga aperto sulla macchina server e
>non sul client.
Assolutamente NO!!!
è impossibile che tu apra il documento sul server.

>Un saluto.
>Grazie.

____________
http://glucolo.wordpress.com
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

Geronimo79 Profilo | Junior Member

Ok perfetto.
Grazie 1000.
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