您的位置:首页 > 其它

页面刷新后或回发后回到原始位置

2009-12-30 15:35 197 查看
1、在aspx页面给body添加id属性:<body id="thebody" MS_POSITIONING="GridLayout">
2、后台代码(.cs文件)中引用:using System.Text;
3、添加方法:

#region "防止页面滚动"
private void RetainScrollPosition()
{
StringBuilder saveScrollPosition = new StringBuilder ();
StringBuilder setScrollPosition = new StringBuilder ();

RegisterHiddenField("__SCROLLPOS", "0");

saveScrollPosition.Append("<mce: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("
// --></mce:script>");

RegisterStartupScript("saveScroll", saveScrollPosition.ToString());

if (Page.IsPostBack)
{
setScrollPosition.Append("<mce:script language='javascript'><!--
");
setScrollPosition.Append("function setScrollPosition() {");
setScrollPosition.Append("    thebody.scrollTop = " + Request["__SCROLLPOS"] + ";");
setScrollPosition.Append("}");
setScrollPosition.Append("thebody.onload=setScrollPosition;");
setScrollPosition.Append("
// --></mce:script>");

RegisterStartupScript("setScroll", setScrollPosition.ToString());
}
}
#endregion

4、在page_load中调用此方法:
this.RetainScrollPosition();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: