在page里面设了MaintainScrollPositionOnPostback=true后,golgle浏览器并没有效果
在page_load里面调用以下方法
/// <summary> /// 页面回传,保持当前滚动条位置 /// </summary> /// <param name="page"></param> public static void RestoreScroll(Page page) { //注册一个Hidden Filed page.ClientScript.RegisterHiddenField("Hidden_AX", "0"); System.Text.StringBuilder sb = new System.Text.StringBuilder(); //当滚动条滚动时将其到页顶的位置保存在Hidden Field中 sb.AppendLine("function getPageScroll() "); sb.AppendLine("{ "); sb.AppendLine(" var yScroll; "); sb.AppendLine(" if (document.documentElement.scrollTop)//符合DTD标准的Page "); sb.AppendLine(" { "); sb.AppendLine(" yScroll = document.documentElement.scrollTop; "); sb.AppendLine(" } "); sb.AppendLine(" else "); sb.AppendLine(" { "); sb.AppendLine(" yScroll = document.body.scrollTop; "); sb.AppendLine(" } "); sb.AppendLine(" return yScroll; "); sb.AppendLine("} "); sb.AppendLine("function saveScrollPosition() "); sb.AppendLine("{ "); sb.AppendLine(" document.getElementById('Hidden_AX').value = getPageScroll();"); sb.AppendLine("} "); sb.AppendLine("window.onscroll=saveScrollPosition; "); page.ClientScript.RegisterStartupScript(page.GetType(), "AX", sb.ToString(), true); //页面加载完后恢复滚动条的位置 if (page.IsPostBack) { sb.Remove(0, sb.Length); sb.AppendLine("function setScrollPosition() "); sb.AppendLine("{ "); sb.AppendLine(" window.scrollTo(0," + page.Request["Hidden_AX"] + "); "); sb.AppendLine("} "); sb.AppendLine("document.body.onload=setScrollPosition; "); page.ClientScript.RegisterStartupScript(page.GetType(), "AXzhz", sb.ToString(), true); } }