|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2004
Messaggi: 497
|
[ASP.NET]come salvare una datatable nella Session ?
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 Codice:
DScapi1.Capi.Rows.Add(New Object() { campi presi dai textbox})
Session("tab") = DScapi1
nel page load per rirpendere il dataset uso: Codice:
If Page.IsPostBack Then
DScapi1 = CType(Session("tab"), DScapi)
come risolvo? Ultima modifica di task- : 02-09-2005 alle 12:39. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2004
Messaggi: 497
|
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Feb 2004
Messaggi: 497
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:52.


















