Click here to Skip to main content
15,885,278 members
Please Sign up or sign in to vote.
5.00/5 (1 vote)
See more:
How do i maintain DIV scroll Position on Postback without using Update Panel.


Thanks and Regards

Deepak
Posted

Have a look at this article: JavaScript Access to Page Controls after Ajax Update (via Update Panel)[^]

UPDATE:
Sorry for not reading 'not update panel'
You can try,
1. Page.MaintainScrollPositionOnPostBack = true;
2. You can track the scroll position before the postback and then when the page is loading, on page load using javascript you can set back the scroll.
 
Share this answer
 
v2
Comments
Monjurul Habib 16-Jun-11 18:41pm    
he needs the solution without update panel.anyway nice link.
Sandeep Mewara 16-Jun-11 23:38pm    
My Bad. I read it as Update panel thing. :doh:

Thanks Monjural for telling me that. Updated the answer to make some sense now. :)
Monjurul Habib 17-Jun-11 4:14am    
my 5 for the advice.
Sandeep Mewara 17-Jun-11 4:45am    
Thanks.
AshishChaudha 5-Jan-13 6:28am    
my +5!
Hello,

Firstly, I would suggest using:

Page.MaintainScrollPositionOnPostBack = true;

in your PageLoad event to maintain page position for your whole page.

Now, for the div question. I found a nice solution to your question here:
http://radio.javaranch.com/pascarello/2005/07/18/1121709316718.html[^]

I changed it a bit so to work with hiddenfield and not cookie. Below is the result.

<script type="text/javascript">
        window.onload = function () {
            var h = document.getElementById("<%=keep.ClientID%>");
            document.getElementById("divTest").scrollTop = h.value;
            alert(h.value);
        }
      function SetDivPosition(){
        var intY = document.getElementById("divTest").scrollTop;
        var h = document.getElementById("<%=keep.ClientID%>");
        h.value = intY;
      }
    </script>


Below is the starting tag of the div you want to maintain.

<div önscroll="SetDivPosition()" id="divTest">
</div>


Notes:
- "divTest" is the name of the div you wish to maintain
- "keep" is the name of the hidden field I used

Tested with IE 8, Firefox 4 and Chrome 12.

Hope it helps!
 
Share this answer
 
v2
Comments
SushantSundar 10-May-12 5:51am    
Thanks a ton. Badly needed it.
XML
var xPos, yPos;
       var prm = Sys.WebForms.PageRequestManager.getInstance();
       prm.add_beginRequest(BeginRequestHandler);
       prm.add_endRequest(EndRequestHandler);


       function BeginRequestHandler(sender, args) {


           yPos = $('#<%=divgvlocation.ClientID %>').scrollTop();
       }
       function EndRequestHandler(sender, args) {

           $('#<%=divgvlocation.ClientID %>').scrollTop(yPos);
       }
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900