We help IT Professionals succeed at work.

ASP.NET AJAX Maintain page vertical scroll position after redirect

Medium Priority
Last Modified: 2012-03-12
I have a search page on my site.  The user selects search criteria from cascading drop-downs, then clicks the search button and the results are displayed in a gridview on the same page.  All of this occurs inside an AJAX update panel.  When a user clicks an item in the results grid, they are redirected to a details view page.

I am using the AJAX script manager history function for storing the search info and grid page index, and this is working great- when the user clicks the browser's 'back' button, the page returns to the correct drop-down selections, results, and grid page index.

The one thing it does not do is retain the vertical scroll position of the page, so that when the user clicks the 'back' button to return to the search page, it returns to the vertical position they left it at.

This is where I need help- how can I grab the search page's vertical scroll position when the user is redirected to the details page, and restore it when the user clicks the 'back' button from the details page?
Watch Question

There is really no direct mechanism available for this.
So you have to do something extra.
Like, you can do this by storing scroll value into cookies and set again that page's scroll position to that one.

This you can achieve by JavaScript:

1. http://stackoverflow.com/questions/1086825/back-button-scroll-position

2. http://wiki.asp.net/page.aspx/1667/maintain-panel-scroll-position-in-ajax-update-panel/


That did the trick!  I knew I needed Javascript- just didn't know the best way to implement it.  The cookies work perfectly.  Many thanks!

Explore More ContentExplore courses, solutions, and other research materials related to this topic.