PlaceHolder e Riciclo Pagina

mercoledì 20 luglio 2005 - 18.31

unodidue Profilo | Newbie

Ciao a tutti vorrei proporvi questo quesito.
Scenario:
Pagina1: Semplice WebForm con diversi button
Pagina2: WebForm con un PlaceHolder
Altri Elementi: diversi UserControl

In base al button che clicco nella prima pagina carico la seconda pagina con lo UC relativo.

Il problema è questo:
Se effettuo delle operazioni nella seconda pagina che generano postback devo mantenere memoria dell'ultimo UserControl caricato per ricaricarlo nuovamente. Se per esempio in questi UC ho delle datagrid quello che succede in poche parole è questo ... carico la prima volta la seconda pagina, leggo il db per avvalorare la datagrid. Clicco un tasto della datagrid e faccio un postback, devo per forza ricaricare lo user control, far leggere nuovamente il db e finalmente viene intercettata la pressione del tasto ...

Perciò effettuo una doppia lettura sul db che vorrei evitare ...

Se qualcuno riesce ad aiutarmi a capire in che modo sia possibile evitare questa cosa ... magari ci sono dei semplici accorgimenti che non conosco ...

Grazie in anticipo ...

Brainkiller Profilo | Guru

Non ho ben focalizzato ciò che stai facendo. ricordati che se fai databinding nel page load di metterlo in un if (Not Page.IsPostback)

Altra cosa per non fare nuovamente query su DataBase puoi operare in due modi:
1) Cache
2) Oggetto Session

con la Cache puoi mettere in Cache lo User Control e quindi per un tot di tempo non esegue più la query sul DB ma è + difficile da gestire.

Con la Session metti in memoria del Server il DataSet e lo usi da una pagina all'altra senza fare Query su DB.
ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
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