日期:2014-05-16  浏览次数:20318 次

为了避免用户麻烦,如何让用户刷新页面后,页面还在原来位置
为了避免用户麻烦,如何让用户刷新页面后,页面还在原来位置(这个较长的页面。屏幕不能完全显示)。




------解决方案--------------------
需要将滚动条位置信息回发 Server,

然后待页面重新加载后再重新设置滚动条的位置。

ASP.NET 提供 smart navigate 功能就是干这用的,不过自己写的更灵活。
------解决方案--------------------
object.scrollIntoView()
这个函数的用法DHTML参考上有
------解决方案--------------------
我的做法是这样的:
首先在前台代码里写:
<body onscroll= "document.getElementById( "hid_BodyScroll ").value = document.body.scrollTop; ">
其中“hid_BodyScroll”是一个隐藏域控件。

然后在后台的 Page_Load 里写上以下代码就行了。
If hid_BodyScroll.Text <> " " Then
RegisterStartupScript( "bodyScroll ", " <script type= 'text/javascript '> document.body.scrollTop = " & hid_BodyScroll.Text & "; </script> ")
End If
------解决方案--------------------
hid_BodyScroll 是自己添加的一个控件啊。 (~_~;)
其代码是:
<input id= "hid_BodyScroll " type= "hidden " name= "hid_BodyScroll " runat= "server ">
写在前台 aspx 代码里就行了,因为是隐藏的,所以随便放哪里都行,不会显示出来的。