Passare in sessione una row di una gridview

venerdì 20 marzo 2009 - 12.30

LuxSkyWalker Profilo | Junior Member

Ciao a tutti,

ho fatto una ricerca nel forum ma, pur trovando alcuni post inerenti al mio problema, non ho trovato la soluzione che devo usare io e quindi ho creato questo nuovo 3D.

Su una pagina (a.aspx) ho un gridview popolato con un SqlDataSource (non con un dataset!).
Nel gridview ho un link su ogni riga che mi fa un redirect su una pagina (b.aspx) per vedere in dettaglio alcuni campi (ed eventualmente modificarli) contenuti nella grid.

La soluzione che avrei pensato è quella di salvare l'intera row della grid (nella pagina a.aspx) in sessione, e accedervi nel page load della pagina b.aspx. E pur non avendo una grande esperienza, mi sembra una soluzione sensata.
Ma da b, non riesco ad accedere ai vari campi della riga selezionata.
Vi scrivo quanto ho scritto io:

(in a.aspx)

protected void selectRecord(object sender, GridViewCommandEventArgs e)
{
int i = int.Parse(e.CommandArgument.ToString());
Session["Griglia"] = grdRisultatiRicerca.rows[i];
Response.Redirect("DettaglioPolizza.aspx");
}

Ma come accedo ai singoli campi della row salvata in b.aspx?

Qualcuno mi può aiutare, magari postando un pezzettino di codice inerente al mio problema o dicendomi dove sbaglio?

GRAZIE!
LuxSkyWalker
Junior Developer .NET

rossimarko Profilo | Guru

Ciao,

in linea di massima ti consiglio di non mettere i dati in sessione ma passare alla pagina di dettaglio il campo chiave che identifica il tuo record e poi all'interno della pagina carichi i dati del tuo record e popoli i controlli.
E' sicuramente un'operazione più lineare e gestibile. La stessa pagina la potrai richiamare in altri punti senza dover mettere i dati in sessione
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

balfaz Profilo | Expert

hai provato tramite debug a vedere cosa rimane dentro la variabile session?, perchè mi viene il dubbio di quello che possa arrivare in quella maniera alla session, non so se mi spiego. Un apprezzamento molto personale, io non userei le session per un lavoro del genere, a meno che non mi dici che i campi sono talmente poco pesanti e sensibili da poter lavorare tranquillamente....occhio è sempre un mio apprezzamento

----- OOoooopppssss ------
Rossi è arrivato prima per qualche secondo, magari...

Aspettiamo la tua risposta!!!

Dove troverai sempre una mano disposta ad aiutarti è nell'estremo del tuo proprio braccio

LuxSkyWalker Profilo | Junior Member

Ciao,

innanzitutto grazie per le risposte molto tempestive.
Durante l'attesa, sono riuscito a trovare da solo la soluzione che coincide esattamente con quella di Marco Rossi.
Balfaz, per quanto riguarda il tuo ragionamento, hai sicuramente ragione ma la row che avevo intenzione di passare non è troppo pesante.

In ogni caso vi ringrazio entrambi e vi auguro una buona giornata!!!

Gianluca.
LuxSkyWalker
Junior Developer .NET
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5