Ciao vorrei intercettare la chiusura di una pagina a livello server per eseguire alcune istruzioni. Purtroppo non ho capito qual è l evento che viene generato.
Qualcono sa aiutarmi?
Grazie tante![]()
Ciao vorrei intercettare la chiusura di una pagina a livello server per eseguire alcune istruzioni. Purtroppo non ho capito qual è l evento che viene generato.
Qualcono sa aiutarmi?
Grazie tante![]()
prova a dare un'occhio qui.
http://forums.asp.net/t/1150538.aspx
a quanto pare non è possibile intercettare tale evento a meno di interagire con degli activex, in quanto è un evento gestito dal client e non dal server.![]()
Il mio mononeurone ormai ha fatto le valigie e m'ha lasciato in completa solitudine...yuuuuhuuuuu, c'è neeessuuuuuunoooooo????...gluglugl...u
Uhm penso di non aver capito bene...cmq essendo un evento di tipo client portei recuperare la chiusura della pagina attraverso Javascript...il problema è che dovendo liberare una risorsa inizializzata nella parte c#(codebehind per spiegarci) come faccio attraverso Javascript ad accedere a questa variabile?
Dimmi pure se non sono stato chiaro...![]()
Potrei dire una c@zz@t@, ma in teoria le risorse vengono liberate automaticamente quando viene chiusa/cambiata la pagina.
![]()
Il mio mononeurone ormai ha fatto le valigie e m'ha lasciato in completa solitudine...yuuuuhuuuuu, c'è neeessuuuuuunoooooo????...gluglugl...u
Lo pensavo anchio ma mi sono trovato a dichiarare in questo programma una tabella del tipo static public DataTable dt = new DataTable();
Poi nel Page load in questo modo definisco le colonne della tabella.
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
dt.Columns.Add("padre");
dt.Columns.Add("bchld");
dt.Columns.Add("interation");
dt.Columns.Add("descrizione");
dt.Columns.Add("qty_richiesta");
dt.Columns.Add("Unit_measure");
}
}
Poi quando finisco di usare il programma lo chiudo e successivamente lo vado a riutilizzare mi da quest errore:
DuplicateNameException
A column named 'padre' already belongs to this DataTable.
Quindi sembrerebbe non aver liberato la memoria in quando il Datatable sembra essere ancora presente.
E' un tentativo...ci provo...
codice:static public DataTable dt; protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { GC.Collect(); // Garbage Collector, libera le risorse inutilizzate dt = new DataTable(); dt.Columns.Add("padre"); dt.Columns.Add("bchld"); dt.Columns.Add("interation"); dt.Columns.Add("descrizione"); dt.Columns.Add("qty_richiesta"); dt.Columns.Add("Unit_measure"); } }
Il mio mononeurone ormai ha fatto le valigie e m'ha lasciato in completa solitudine...yuuuuhuuuuu, c'è neeessuuuuuunoooooo????...gluglugl...u
Un'altra cosa che potresti provare a fare è una dispose o un clear del datatable al posto del garbage collector
![]()
Il mio mononeurone ormai ha fatto le valigie e m'ha lasciato in completa solitudine...yuuuuhuuuuu, c'è neeessuuuuuunoooooo????...gluglugl...u
Perchè se non metto il static il problema della memoria si risolve.però purtroppo ogni volta che vado ad aggiungere una una riga alla tabella mi dice che la tabella non ha righe e se vado a vedere esplorare la tabella in effetti non ha righe.
Per ovviare a questo problema l ho messa static, ma magari sto sbagliando.