14 messaggi dal 21 agosto 2007
buongiorno a tutti,
sto sviluppando una procedura asp.net che dovrà girare in una intranet.
Per modificare dei dati di una maschera apro una finestra di POPUP in cui chiedo i campi da modificare/inserire. Alla pressione del tasto salva eseguo codice di scrittura chiamando una sored procedure del mio DB.
Alla fine di questa operazione vorrei che la finestra si chiudesse automaticamente e il massimo sarebbe che la pagina chiamante si aggiornasse con i nuovi dati.

Purtroppo non ho trovato nessun modo di chiamare la chiusura della pagina da codice VB e ho letto che codice java (lato client) verrebbe eseguito prima di quello lato server (ho capito male ? )

Chiedo lumi in materia (sono ai miei primi progetti basati su WEB).

grazie

Gerardo
Con javascript popup_window.close ();
Segui questo tutorial:http://www.aspitalia.com/script/676/Custom-Control-Chiudere-Popup.aspx ciao

Corso SEO DeepSEO
Libro SEO, SEM e Web Marketing
Siti Web Parma
14 messaggi dal 21 agosto 2007
Ciao Maltra,

ti ringrazio dell'interessamento.
la window.close la conosco ma il problema è che io, alla pressione del tasto SALVA DATI eseguo codice lato server e ho letto che da codice lato server non si può richiamare codice lato client.
per quanto riguarda il refresh dei dati sulla pagina chiamante cercherò di capire l'esempio che mi hai indicato, a prima vista mi sfugge un attimo come potrei implementarlo (sono io che non sono molto afferrato in materia ovviamente)
grazie ancora
ciao
Gerardo
Non è vero che da codice lato server non puoi richiamare codice lato client!!!
Ti posto un esempio :
da codice pui richiamare la tua funzione "vai" in due modi
  <script language="javascript">
   function vai()
   { 
      window.alert("Ciao"); 
   }
</script>

//manager = Page.ClientScript;
  //manager.RegisterStartupScript(this.GetType(), "", "vai();", true);

 ScriptManager.RegisterStartupScript(this, this.GetType(), "", "vai();", true);

Prova ad usare ajax :) e questo trucchetto per fare quello che ti interessa

Prova a leggere l'articolo che ti ho postato potrebbe essere utile.
Spero di essere stato utile
Ciao

Corso SEO DeepSEO
Libro SEO, SEM e Web Marketing
Siti Web Parma
3.939 messaggi dal 28 gennaio 2003
io opero così:

nella pagina di popup, nell'evento che ti aggiorna i dati, inietti questo javascript:

Me.ClientScript.RegisterStartupScript(Me.GetType, "aggiorna_chiamante", String.Format("if(self.aggiorna_chiamante){{aggiorna_chiamante();}};", ""), True)

questo codice, scrive lo script javascript alla fine del form. Il browser chiamerà la funzione javascript aggiorna_chiamante, che più o meno è questa
function aggiorna_chiamante()
{
    var chiamante = opener;
    if(chiamante && chiamante.scheda2_05_aggiungi_0_callback)
    {
        chiamante.scheda2_05_aggiungi_0_callback($("tipo").value);
    }

}



questa funzione chiama un metodo della pagina madre passando dei parametri:
function scheda2_05_aggiungi_0_callback(tipo)
{
    if(tipo == "s")
        __doPostBack('LinkButton_storico_refresh', '');
    else
        __doPostBack('LinkButton_teorico_refresh', '');
        
    PopClose(w_scheda2_05_aggiungi_0);
    
}


come si vede, qui aggiorno la pagina (doPostBack) e chiudo la pagina aperta (PopClose)
14 messaggi dal 21 agosto 2007
salve,
grazie a tutti e due, ho mischiato un po' di codice di entrambi gli spunti.
la funzione aggiorna che ho creato è così composta:

function aggiorna_chiamante()
{
opener.location.reload();
top.close();
}

la finestra di popup si chiude, la finestra padre tenta di aggiornarsi MA:

ERRORE di internet explorer:
Per visualizzare nuovamente la pagina web, è neceassario riinviare tramite internet explorer le informazioni inviate in precedenza. .........

lo stesso errore mi si presenta se clicco su bottone aggiorna dopo aver aperto e chiuso la finestra di POPUP.
grazie

ciao
Gerardo

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.