As an alternative, here is Javascript code to create a hidden field on the page and taps into the onscroll and onload events of the page's body. The code shown here is in the page's Load event handler in the code behind file.
/**/
/// <summary>
/// Persist ScrollBar's Position After a PostBack
/// </summary>
private void PersistScrollPosition()
{
StringBuilder saveScrollPosition = new StringBuilder();
StringBuilder setScrollPosition = new StringBuilder();
RegisterHiddenField("__SCROLLPOS", "0");
saveScrollPosition.Append("<script language='javascript'>");
saveScrollPosition.Append("function saveScrollPosition() {");
saveScrollPosition.Append(" document.forms[0].__SCROLLPOS.value = document.body.scrollTop;");
saveScrollPosition.Append("}");
saveScrollPosition.Append("document.body.οnscrοll=saveScrollPosition;");
saveScrollPosition.Append("</script>");
RegisterStartupScript("saveScroll", saveScrollPosition.ToString());
if (Page.IsPostBack)
{
setScrollPosition.Append("<script language='javascript'>");
setScrollPosition.Append("function setScrollPosition() {");
setScrollPosition.Append(" document.body.scrollTop = " + Request["__SCROLLPOS"] + ";");
setScrollPosition.Append("}");
setScrollPosition.Append("document.body.οnlοad=setScrollPosition;");
setScrollPosition.Append("</script>");
RegisterStartupScript("setScroll", setScrollPosition.ToString());
}
}
/// Persist ScrollBar's Position After a PostBack
/// </summary>
private void PersistScrollPosition()
{
StringBuilder saveScrollPosition = new StringBuilder();
StringBuilder setScrollPosition = new StringBuilder();
RegisterHiddenField("__SCROLLPOS", "0");
saveScrollPosition.Append("<script language='javascript'>");
saveScrollPosition.Append("function saveScrollPosition() {");
saveScrollPosition.Append(" document.forms[0].__SCROLLPOS.value = document.body.scrollTop;");
saveScrollPosition.Append("}");
saveScrollPosition.Append("document.body.οnscrοll=saveScrollPosition;");
saveScrollPosition.Append("</script>");
RegisterStartupScript("saveScroll", saveScrollPosition.ToString());
if (Page.IsPostBack)
{
setScrollPosition.Append("<script language='javascript'>");
setScrollPosition.Append("function setScrollPosition() {");
setScrollPosition.Append(" document.body.scrollTop = " + Request["__SCROLLPOS"] + ";");
setScrollPosition.Append("}");
setScrollPosition.Append("document.body.οnlοad=setScrollPosition;");
setScrollPosition.Append("</script>");
RegisterStartupScript("setScroll", setScrollPosition.ToString());
}
}
Hope this helps