今天做完了项目看了下锚的用法,把学到的一点领会记录下来,也希望能给需要这方面知识的朋友一点启发。
需要使用页面定位的前提条件无非是两种情况,一是页面无要求可刷可不刷,二是页面无刷新。
如果对页面无要求,可以刷新,可以不刷新,那么就简单了,有三种方式:
1、可以用MaintainScrollPositionOnPostback属性。只需在asp.net页面的Page指令中设置MaintainScrollPositionOnPostback="true"就可以轻松实现。请记住MaintainScrollPositionOnPostback属性的默认值为false。
2、另外asp.net的page对象还有一个SmartNavigator属性,可以完成相同的功能。SmartNavigator属性只能在后台代码中设置。
3、锚定位方式
a.aspx页:response.Redrect("../b.aspx#anthor1");
b.aspx页:定义一个锚点<a name="anthor1" />,则跳页或者刷新页面就定位到锚点的位置。刷新页面只需将b改成a。
如果希望页面无刷新定位有两种方式:
1、第一种方式在js方法里用这个语句定位:window.scrollTo(0,document.body.scrollHeight)
document.body.scrollHeight是整个页面的高度,这里是定位到页面的底部,可以自己设计高度。
2、第二种方式是在js里面写下面的语句:
anchor = document.anchors[4].name;//4为锚点的索引值,这里是取出第五个锚点的name。
url = self.location.pathname;//得到当前页的路径名称。
search = self.location.search;//得到链接到当前路径时的参数列表。
str = url+ search + "#" + anchor;
self.location=str;
//其实self.location.pathname + self.location.search就是链接到当前路径的完整地址。
// 锚的信息存储在self.location.hash里。