Go to DotNetFunda.com
 Online : 676 |  Welcome, Guest!   Login
 
Home > Articles > ASP.NET AJAX > Set Page Position after asyncPostback in AJAX

  • Download the OOPS, ASP.NET and ADO.NET Training Videos for FREE, click here.

Submit Article | Articles Home | Search Articles |

Set Page Position after asyncPostback in AJAX

 Posted on: 1/4/2010 1:46:02 AM by Virendradugar | Views: 493 | Category: ASP.NET AJAX | Level: Beginner | Print Article
This article explains a simple trick to set the page position to any coordinates after async Postback.

.NET Training Videos!
Buy online comprehensive training video pack just for $35.00 only, see what's inside it.

Introduction
I will start this article, with one of the problem which I come across recently.

Background

I was working with a page. The page is divided into two parts.

1. Add/Update/Delete (I call it Area 1)
2. Listing of records (I call it Area 2)

I have used Repeater control with no paging (Though the records are more but my client hates paging.). Above the repeater control, there were some textbox, dropdowns, checkbox, listbox etc. were placed used for add/update operations. There is a link button in the repeater control for every row, which when clicked opens the records in update mode. It fills all the control with data placed on Area.
 
Everything is placed in an UpdatePanel.

Problem

There were more than 10000 records listed in the repeater. When I click the very last record for editing, asynchronous postback happens and data is loaded for editing in Area 1 . But the problem was with the page position. I was not able to see the control's of Part1, as page was maintaining it's scroll position after async postback. This is what I don't want. As it's not at all user friendly. End-User will never come to know that record has been opened in edit mode. I set the "MaintainScrollPositionOnPostback" property to false but it was not working due to AJAX. Somehow, I want page position to be set to (0,0) so that I can see Area 1 controls.

Solution

The solution was to set Page position back to 0,0, at the end of ajax request. Here is what I did. See below code.
 <script type="text/javascript">
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_endRequest(EndRequestHandler);
    function EndRequestHandler(sender, args) {         window.scroll(0,0);    } </script>
Javascript provides a function scroll() which basically scrolls page position to the specified value. It takes two arguments Top and left. I passed it 0,0 and it worked for me.

Enjoy..

If you like this article, subscribe to our RSS Feed. You can also subscribe via email to our Interview Questions, Codes and Forums section.

Interesting?   Share and Bookmark this kick it on DotNetKicks.com


Experience:3 year(s)
Home page:http://virendrablogs.blogspot.com
Member since:Tuesday, August 11, 2009
Level:Silver
Status: [Member]
Biography:Virendra Dugar is experienced software developer with 3 years of hands-on experience working with Microsoft .NET technology (ASP.NET, C#, VB.NET,SQL Server). He is always keen to learn new technology. He holds a Master's Degree in Computer Application & Information technology from Gujarat University in india.In free time, he loves to listen music, read books, play games and do blogging etc.

Visit his blog :
http://virendrablogs.blogspot.com
http://virendradugar.wordpress.com
 Latest post(s) from Virendradugar

   ◘ Set Page Position after asyncPostback in AJAX posted on 1/4/2010 1:46:02 AM
   ◘ Common misconception regarding ViewState and TextBox posted on 1/1/2010 8:00:02 AM
   ◘ Starting with JQuery posted on 11/22/2009 9:09:22 AM
   ◘ Copy DLL from GAC posted on 11/14/2009 4:05:08 AM
   ◘ Handle back button of the browser posted on 11/4/2009 5:04:33 AM


Submit Article

About Us | The Team | Advertise | Contact Us | Feedback | Privacy Policy | Terms of Use | Link Exchange | Members | Go Top
General Notice: If you found copied contents on this page, please let us know the original source along with your correct email id (to communicate) for further action.
All rights reserved to DotNetFunda.Com. Logos, company names used here if any are only for reference purposes and they may be respective owner's right or trademarks.
(Best viewed in IE 6.0+ or Firefox 2.0+ at 1024 * 768 or higher)