8 messaggi dal 18 ottobre 2006
Ciao a tutti.
Ho un problema che non riesco a superare in .net vb!
Dunque....in una pagina aspx.vb, in un metodo, dopo aver fatto alcune operazioni devo aprire a video un'email.
Eseguo quindi alla fine del metodo una response.add dell'email e un successivo flush.
Risultato: la mail mi viene aperta correttamente in una nuova finestra e fin qui nessun problema.
Il problema è invece che la finestra originale, ovvero quella che rimane dietro la mail, deve eseguire un refresh per aggiornare di dati!
Come si fa a fargli eseguire il refresh??
Quando apre la finestra della mail la pagina dietro si ferma! qualunque riga di codice dopo il flush della mail non viene più eseguita..
Come posso fare??
Grazie!!
41 messaggi dal 19 febbraio 2007
Ciao diego!
Un modo sarebbe iniettare nel markup HTML della pagina in cui visualizzi l'email uno script JS che forzi il refresh della pagina "genitore" una volta completate le operazioni di visualizzazione.

Il codice JS da iniettare è semplice:

<script language="javascript" type="text/javascript">

window.opener.reload(); /* Forza il refresh della pagina sottostante */

</script>

Fammi sapere se è tutto ok!

Ciao!
8 messaggi dal 18 ottobre 2006
Ciao grazie mille!
La soluzione la uso già in un altro contesto, con successo, dove ho un popup e sulla chiusura di questo eseguo il codice che hai scritto.
In questo caso, il popup non è aperto tramite javascript, è creato in questo modo:

Response.Clear()
Response.ContentType = "octet/stream"
Response.AddHeader("Content-Disposition", "outline; filename=" & mailFileName)
Response.WriteFile(mail.MailFilePath & mail.MailFileName)

Dovrei quindi inserire lo script javascript in questa response.
Usando i metodi response.AppendHeader non riesco a far funzionare..
Pensavo di poter aggiungere il codice javascript nell'oggetto Response, ma come si può fare?

Grazie mille!

Diego
41 messaggi dal 19 febbraio 2007
La mail è un semplice file di testo?
213 messaggi dal 25 settembre 2006
prova a registrare il javascript per il reload subito prima di fare il flush
8 messaggi dal 18 ottobre 2006
Come faccio per inserire il javascript nella response insieme alla mail?
oppure posso registrare il javascript in un altro modo prima di fare il flush?

Grazie

Diego
213 messaggi dal 25 settembre 2006
prepari il codice in una variabile stringa strCodiceJs e lo inserisci sulla pagina con il metodo ClientScript.RegisterStartupScript(this.GetType(), "unNome", strCodiceJs, true)

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.