task-
02-09-2005, 10:02
holà a tutti e grazie in anticipo per chi mi dovesse dare una zampa :)
per un esame devo creare un sito in asp, usando il visaul basic. Il primo problema che ho trovato èappunto salvare una datatable nella/nel session e poi andare a riprendermela.
Questo perchè praticamente la pagina deve riempire un datagrid in fondo alla stessa prendendo i valori da dei text box in cima. Lo scopo praticamente è permettere di modificare o cancellare i dati nel datagrid prima che vengano immessi nel db. Ovviamente ogni votla che ho riempito i vari text box e clicko sul mio bel pulsante invia la pagina viene ricaricata e quindi il dataset contenete la datatable scancellato. Quindi per non perderlo ho pensato di usare il session, in modo che ad ogni ricaricamento della pagina dopo il primo copia la data table dal sesion alla tabella appena ricreata. Questo in teoria, perchè in pratica non ci riesco. continuo a sbattere contro un maledetto System.NullReferenceException: Riferimento a un oggetto non impostato su un'istanza di oggetto. che si riferisce al dataset ripreso dal session.
Cmq ecco il codice.
il data set viene inizializato co ndel codice generato da visual studio, e se non lo salvo nel session funziona a meraviglia [continaundo ad essere cancellato però ]
[Dscapi1.capi = sta per DataSet capi, capi è il nome della tabella del dataset]
per creare una nuova riga nella datatable e salvarla nel session uso
DScapi1.Capi.Rows.Add(New Object() { campi presi dai textbox})
Session("tab") = DScapi1
nel page load per rirpendere il dataset uso:
If Page.IsPostBack Then
DScapi1 = CType(Session("tab"), DScapi)
però così quando clicko sul tasto mi da l'errore System.NullReferenceException: Riferimento a un oggetto non impostato su un'istanza di oggetto. riferendosi alla prima riga in cui si imbatte che contiene DScapi1 [che sia nel pageload o nella funzione di qualche bottone]
come risolvo? :(
per un esame devo creare un sito in asp, usando il visaul basic. Il primo problema che ho trovato èappunto salvare una datatable nella/nel session e poi andare a riprendermela.
Questo perchè praticamente la pagina deve riempire un datagrid in fondo alla stessa prendendo i valori da dei text box in cima. Lo scopo praticamente è permettere di modificare o cancellare i dati nel datagrid prima che vengano immessi nel db. Ovviamente ogni votla che ho riempito i vari text box e clicko sul mio bel pulsante invia la pagina viene ricaricata e quindi il dataset contenete la datatable scancellato. Quindi per non perderlo ho pensato di usare il session, in modo che ad ogni ricaricamento della pagina dopo il primo copia la data table dal sesion alla tabella appena ricreata. Questo in teoria, perchè in pratica non ci riesco. continuo a sbattere contro un maledetto System.NullReferenceException: Riferimento a un oggetto non impostato su un'istanza di oggetto. che si riferisce al dataset ripreso dal session.
Cmq ecco il codice.
il data set viene inizializato co ndel codice generato da visual studio, e se non lo salvo nel session funziona a meraviglia [continaundo ad essere cancellato però ]
[Dscapi1.capi = sta per DataSet capi, capi è il nome della tabella del dataset]
per creare una nuova riga nella datatable e salvarla nel session uso
DScapi1.Capi.Rows.Add(New Object() { campi presi dai textbox})
Session("tab") = DScapi1
nel page load per rirpendere il dataset uso:
If Page.IsPostBack Then
DScapi1 = CType(Session("tab"), DScapi)
però così quando clicko sul tasto mi da l'errore System.NullReferenceException: Riferimento a un oggetto non impostato su un'istanza di oggetto. riferendosi alla prima riga in cui si imbatte che contiene DScapi1 [che sia nel pageload o nella funzione di qualche bottone]
come risolvo? :(