如题,以下是我从网上找的一段代码,并且按要求这么做了
/*****postback后滚动保持在当前位置*********/
using System.Text;//提交后保持页面位置
private void RetainScrollPosition()
{
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 = thebody.scrollTop;");
saveScrollPosition.Append("}");
saveScrollPosition.Append("thebody.onscroll=saveScrollPosition;");
saveScrollPosition.Append("</script>");

this.RegisterStartupScript("saveScroll", saveScrollPosition.ToString()); if(Page.IsPostBack)
{
setScrollPosition.Append("<script language='javascript'>");
setScrollPosition.Append("function setScrollPosition() {");
setScrollPosition.Append(" thebody.scrollTop = " + Request["__SCROLLPOS"].Trim() + ";");
setScrollPosition.Append("}");
setScrollPosition.Append("thebody.onload=setScrollPosition;");
setScrollPosition.Append("</script>"); this.RegisterStartupScript("setScroll", setScrollPosition.ToString());
}
}注:
1.将<body>的id改成thebody
2.在PageLoad中调用此函数