In ASP.Net projects I have come across numerous time that you need to position the the page at certain vertical location on PostBack. For example you might have multiple long Panels or grids that when clicked need to post back the data to the server and return to certain other panel or Grid on the Page. SmartNavigation feature of ASP.Net allows you to keep the last click position on post back but does not allow the positioning of the page to any other desired location.
The solution is to put the bookmarks on the .aspx page and then using the Javascript jump to the desired bookmark on PostBack ... i.e.
<A HREF="#MyPanelInMiddle"></A>
Now on Post Back I can inject a simple Javascript code to the page .....
//Script for Bookmark Positioning
StringBuilder Script = new StringBuilder();
Script.Append("\n<script language=JavaScript id='BookMarkScript'>\n";");
Script.Append("var hashValue="#MyPanelInMiddle";");
Script.Append("if(location.hash!=hashValue) ");
Script.Append("location.hash=hashValue;");
Script.Append("</script>");
RegisterClientScriptBlock ("BookMarkScript", Script.ToString());
This will result in the page being position where the bookmark tag is placed on he page.