146 messaggi dal 05 maggio 2005
Ciao a tutti!

Ho una form dove nell'evento load della pagina eseguo questo codice:
Dim PopupPage As String = "PopupTestModal.aspx"
Button1.Attributes("onclick") = "return openPopupModale('" & PopupPage & "');"

Il codice della funzione Javascript openPopupModale, contenuto in un file ..js, è questo:

function openPopupModale(URL)
{
var prop = "dialogWidth: 1000px; dialogHeight: 280px; center: 1; scroll: 0; help: 1; status: 0;";
finestra= window.showModalDialog(URL, null, prop);
}

La finestra modale PopupTestModal.aspx nell'evento load esegue questo codice:
Label1.Text = Now.ToString

Ora cliccando sul pulsante della form che richiama la finestra modale effettivamente apro la form PopupTestModal.aspx in modalità modale,leggendo nella label al suo interno la data e l'ora di sistema del momento in cui ho caricato la pagina. Ad esempio 05/12/2007 15.40.18.

A questo punto chiudendo la finestra modale cliccando sulla X in alto a destra torno alla pagina con il pulsante.
Se ripremo il pulsante, quindi se riapro la modale, invece di avere l'ora aggiornata continuo a vedere quella precedente! Cioè vedo 05/12/2007 15.40.18 invece di, per esempio, 05/12/2007 15.41.22.

Mettendo un breakpoint sull'evento load della finestra modale, si nota che l'esecuzione del metodo avviene solo la prima volta e poi non più finchè il browser, nel mio caso IE7 ma stesso problema su IE6,non viene chiuso.
Qualcuno mi aiuta a capire perchè succede questo? Io vorrei visualizzare l'ora aggiornata all'interno della finestra modale ogni volta che la apro.
Grazie,
Atropo
20 messaggi dal 18 febbraio 2005
www.achiodo.com
genera un postback con Javascript al momento in cui chiudi la finestra modale nella finestra.
Io avevo fatto così e ho risolto.

P.S.
Mi ricorso di aver letto da qualche parte che Explorer ha problemi in questo senso a meno che non usi dei frame o iframe.
146 messaggi dal 05 maggio 2005
Ma come posso fare per generare il postback con Javascript quando chiudo la finestra?
20 messaggi dal 18 febbraio 2005
www.achiodo.com
Questa è il codice client che inserisci nella finestra che dovrà aprire il popup.
dopo che chiudi il popup verrà eseguita la riga __doPost.......
che è la riga che esegue il postBack.
Quindi sul codice lato server poi la intercetti così:

If Page.IsPostBack Then
Dim eventArg As String = Request("__EVENTARGUMENT")
If eventArg = "AggiornaStock" Then
UpdateStats()
End If
Session("FIDO_DL") = distrmgr.SelectDistributore(HttpContext.Current.User.Identity.Name).Fido
End If


function OpenMyDialog(__url,sVal,features)
{
dialogArgs = new MyDialogArguments();
dialogArgs.StringValue = sVal;
dialogArgs.Sender = window;
var retVal = window.showModalDialog(__url, dialogArgs,features);
__doPostBack("__page","AggiornaStock");
}

Ti ricorso che Explorer ha problemi con questo comportamento, vedi questo link, a me è risultato utile:
http://blogs.ugidotnet.org/topics/articles/7860.aspx
146 messaggi dal 05 maggio 2005
Non credo di aver ben capito il comportamento del codice che mi hai postato. Io ho bisogno che la finestra di popup venga ricaricata e aggiornata quando premo il pulsante sulla form che richiama la popup stessa. Quando chiudo la popup non intercetto nulla sulla form chiamante. Credi che si possa fare su IE oppure no? Devo essere proprio fuori strada parchè non riesco a capire questo problema.
20 messaggi dal 18 febbraio 2005
www.achiodo.com
Se il problema è di intercettare la chiusura del popup sella finestra chiamante.
Il codice che ti ho postato è quello che ho usato io e funzionante.
Devi solo sbatterci un po latesta come ho fatto io :)
Ma ti assicuro che seguendo anche le direttive del link che ho postato ci riesci.
146 messaggi dal 05 maggio 2005
Ok, vedrò di sbatterci la zucca! ;)

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.