Cambiare dinamicamente viste dati differenti collegate allo stesso dat...

mercoledì 11 luglio 2012 - 15.59
Tag Elenco Tags  C#  |  .NET 3.5  |  .NET 4.0  |  Visual Studio 2010

andrestu Profilo | Expert

Salve a tutti,
questo più che un problema è una piccola indagine per capire se ci sono alternative alla richiesta seguente:
in ambiente Aspnet, all'interno della stessa pagina ho un unico datasource che vorrei "collegare" a 2 differenti listview che non devono essere viste entrambe contemporaneamente ma alternativamente in base alla scelta dell'utente tramite click di un pulsante.

soluzione 1
inserisco nella pagina tutte e due le listview e abilito e disabilito o una o l'altra all'interno dell'evento click

soluzione 2
inserisco ogni listview in un usercontrol diverso e carico dinamicamente o uno o l'altro a seconda della scelta

soluzione 3
non saprei, chiedo a voi, ce ne potrebbero essere altre???

in termini di prestazioni quale sarebbe la migliore ?

grazie in anticipo...

Andrea Restucci - Web Developer

alx_81 Profilo | Guru

>Salve a tutti,
Ciao

>soluzione 1
>inserisco nella pagina tutte e due le listview e abilito e disabilito
>o una o l'altra all'interno dell'evento click

>soluzione 2
>inserisco ogni listview in un usercontrol diverso e carico dinamicamente
>o uno o l'altro a seconda della scelta

>soluzione 3
>non saprei, chiedo a voi, ce ne potrebbero essere altre???
siccome non è comodo per niente creare al volo un listview lato server, proporrei lo user control.. perchè magari risparmi l'interpretazione dell'aspnet della pagina.
Quindi voto per la 2, tra quelle proposte.

Se invece puoi cambiare, direi di farti tornare via ajax una risposta dal server per la source e poi utilizzerei js per renderizzare la "view" un po' come mi va
In questo modo i dati sono totalmente disaccoppiati dal render e il metodo è comune, solo il layout via javascript cambia.

>in termini di prestazioni quale sarebbe la migliore ?
c'è poca differenza tra le due che proponi, invece un buon js alleggerisce il server, e se scritto bene anche il render è veloce.

>grazie in anticipo...
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

andrestu Profilo | Expert

Grazie Alex,
si in effetti la soluzione ideale in termini di prestazioni sarebbe quella di far fare il rendering tramite Js lato client, il "problema" è che si tratta di un rendering abbastanza complesso con tanto di slide foto gallery caricata dinamicamente per ogni riga (record), e poi sinceramente se posso evitare di lavorare con Js lo preferisco non sono molto pratico e non ho mai richiamato dati lato client, mi trovo tanto bene nell'utilizzare i ListView che vorrei continuare su questa strada.
Ho provato ad implementare sia la soluzione 1 (controlli duplicati) che la 2 (listview all'interno di un usercontrol) e devo dire che anche se la 1 è decisamente più "sporca" mi è sembrata più prestante, il problema è che ho dovuto duplicare anche i datapager, non sono riuscito ad assegnare dinamicamente il listview al datapager nell'evento Init, anzi diciamo che probabilmente è un "problema" dovuto alla natuara dei datapager.
La pagina nel complesso è abbastanza pesante quindi devo ridurre al minimo il carico.

A titolo informativo si tratta di questa pagina:

http://www.applicazionionline.com/WebSite/Pages/ImmVetrina/ImmVetrina.aspx

clicca sul simbolo dell'italia e poi su cerca per farti ritornare la lista degli immobili...

Andrea Restucci - Web Developer

alx_81 Profilo | Guru

>La pagina nel complesso è abbastanza pesante quindi devo ridurre al minimo il carico.
considera che ci sono controllini leggeri in js validi.. comunque ho provato la pagina, e sono circa 700ms per quasi 200kb
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

andrestu Profilo | Expert

grazie per la prova, quali strumenti utilizzi per rilevare questi dati?
io ho sempre fatto queste valutazioni a vista, ti sembra un tempo accettabile?

Andrea Restucci - Web Developer

alx_81 Profilo | Guru

>grazie per la prova, quali strumenti utilizzi per rilevare questi dati?
uso o firebug o gli strumenti per dev di chrome..

>io ho sempre fatto queste valutazioni a vista, ti sembra un tempo accettabile?
direi di sì

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

andrestu Profilo | Expert

...

Andrea Restucci - Web Developer

alx_81 Profilo | Guru

>...
?? ovvero?

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

andrestu Profilo | Expert

era per poterti accettare la risposta...
ti ricordi il discorso di un pò di tempo fà, non so se lo avevo fatto con te, praticamente se non sono l'ultimo a rispondere non mi compare il pulsante "accetta"

Andrea Restucci - Web Developer

alx_81 Profilo | Guru

> era per poterti accettare la risposta...
>ti ricordi il discorso di un pò di tempo fà, non so se lo avevo
>fatto con te, praticamente se non sono l'ultimo a rispondere
>non mi compare il pulsante "accetta"
ah ok "...."

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5