Mantenere scroll div dopo un postback

lunedì 21 febbraio 2011 - 11.23
Tag Elenco Tags  .NET 2.0  |  Visual Studio 2005

sorigrafia Profilo | Junior Member

Ciao a tutti...ho una gridview al' interno di un div (<div id="grd" runat="server" style="width: 100%; overflow: scroll;" >)
e ho bisogno che dopo un postback la barra di scorrimento orizzontale mi torni nello stesso punto di dove l' avevo lasciata anzichè tornare all' inizio ogni qualvolta avviene un postback.
Ho provato moltissime soluzioni ma nessuna è riuscita nell' intento.
Potreste aiutarmi?

Grazie
--

AirLainz

alx_81 Profilo | Guru

>Ciao a tutti...ho una gridview al' interno di un div (<div
>id="grd" runat="server" style="width: 100%; overflow: scroll;">)
ciao

>e ho bisogno che dopo un postback la barra di scorrimento orizzontale
>mi torni nello stesso punto di dove l' avevo lasciata anzichè
>tornare all' inizio ogni qualvolta avviene un postback.
>Ho provato moltissime soluzioni ma nessuna è riuscita nell' intento.
>Potreste aiutarmi?
hai provato a persistere sul server in un campo nascosto il valore corrente della scroll come consigliato in questo link?
http://stackoverflow.com/questions/1184576/maintain-scroller-position-on-div-after-page-postback-asp-net

>Grazie
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

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

sorigrafia Profilo | Junior Member

certamente...il problema gia ce l' ho in quanto non riesco, al momento di caricare la mia pagina, di impostare già uno spostamento della barra: anzichè "bigDiv.scrollTop = x" io ho anche già provato brutalmente "document.getElementById('Div').scrollLeft= x (ho barra orizzontale) ma non me lo fuma! Ho provato lo script anche in fondo alla pagina..niente..mentre durante il funzionamento, funzioni simili javascript per lo spostamento funzionano.

grazie
--

AirLainz

alx_81 Profilo | Guru

>certamente...il problema gia ce l' ho in quanto non riesco, al
>momento di caricare la mia pagina, di impostare già uno spostamento
>della barra: anzichè "bigDiv.scrollTop = x" io ho anche già provato
>brutalmente "document.getElementById('Div').scrollLeft= x (ho
>barra orizzontale) ma non me lo fuma! Ho provato lo script anche
>in fondo alla pagina..niente..mentre durante il funzionamento,
>funzioni simili javascript per lo spostamento funzionano.
A prescindere dal fatto che il riposizionamento client non è male, pensare ad evitare la postback della pagina? Magari spostandosi su tecnologia AJAX..

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

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

sorigrafia Profilo | Junior Member

Gia ajax lo uso...che tipo di oggeto ajax dovrei usare al posto del div?

Grazie mille
--

AirLainz

alx_81 Profilo | Guru

>Gia ajax lo uso...che tipo di oggeto ajax dovrei usare al posto del div?
non è un problema del div, io dicevo proprio di fare la chiamata senza fare postback della pagina, ma andare a serve via js e gestire la callback.
Ad esempio col metodo $.post() di jquery:
http://api.jquery.com/jQuery.post/
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

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

sorigrafia Profilo | Junior Member

Non ho mai usato ciò, ci darò un' occhiata...il problema è che uso oggetti Ajax (Panel, Timer, etc...) ma non codice Ajax e i miei Postback avvengono in lettura di varie funzioni di codice vb sotto le pagine...e la mia ignoranza non sa se è possibile fare leggere codice vb senza che avvenga il postback...è possibile con gli esempi che mi hai postato?

Grazie
--

AirLainz

alx_81 Profilo | Guru

>Non ho mai usato ciò, ci darò un' occhiata...il problema è che
>uso oggetti Ajax (Panel, Timer, etc...) ma non codice Ajax e
>i miei Postback avvengono in lettura di varie funzioni di codice
>vb sotto le pagine...e la mia ignoranza non sa se è possibile
>fare leggere codice vb senza che avvenga il postback...è possibile
>con gli esempi che mi hai postato?
jquery è semplicemente un framework che ti aiuta a scrivere codice cross browser, nulla di che, ma molto comodo e potente.
Detto questo, il metodo $.post() fa una chiamata a server e la risposta arriva nell'ultimo param del metodo (la callback). Quella callback può diventare una funzione che fa quello che deve fare (come ricaricare la griglia) e la pagina non si sposta da dove sei. Però bisogna avere dimestichezza con js, non è una cosa così indolore..

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

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/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