先放到这儿:
陈叙远的世界
什么时候陈叙远也是一个品牌啊?
随笔 - 51, 文章 - 12, 评论 - 442, 引用 - 1
导航
博客园
首页
新随笔
联系
聚合
登录
公告
随笔分类(51)
1、asp.net (10)(rss)
2、.net基础类库 (9)(rss)
3、笔试题 (6)(rss)
4、IDE (5)(rss)
5、后脑勺 (13)(rss)
6、.net资源 (3)(rss)
7、il (1)(rss)
8、第三方组件 (3)(rss)
9、软件工程 (1)(rss)
搜索
asp.net小技巧:页面滚动位置保持
我常用下面的方法:
c#
step 1
replace the tag of <body> with the follewing codes:
<%
if (Request["__SCROLLPOS"] != null &&
Request["__SCROLLPOS"] != String.Empty) {
int pos = Convert.ToInt32 (Request["__SCROLLPOS"]);
Response.Write ("<body id=\"theBody\" " +
"onscroll=\"javascript
ocument.forms[0].__SCROLLPOS.value = " +
"theBody.scrollTop;\" " +
"onload=\"javascript:theBody.scrollTop=" + pos + ";\">"
;
}
else {
Response.Write ("<body id=\"theBody\" " +
"onscroll=\"javascript
ocument.forms[0].__SCROLLPOS.value =" +
"theBody.scrollTop;\">"
;
}
%>
step 2
add the follewing codes between <form> and </form>
<input type="hidden" name="__SCROLLPOS" value="" />
--------------------------------------------------------------------------------
vb
step 1
replace the tag of <body> with the follewing codes:
<%
If Not Request("__SCROLLPOS"
Is Nothing then
if Request("__SCROLLPOS"
<> String.Empty Then
Dim pos As Integer = CType(Request("__SCROLLPOS"
, Integer)
Response.Write("<body id=""theBody"" onscroll=""javascript
ocument.forms[0].__SCROLLPOS.value = theBody.scrollTop;"" onload=""javascript:theBody.scrollTop=" + pos.tostring + ";"">"
end if
else
response.Write("<body id=""theBody"" onscroll=""javascript
ocument.forms[0].__SCROLLPOS.value =theBody.scrollTop;"">"
end if
%>
step 2
add the follewing codes between <form> and </form>
<input type="hidden" name="__SCROLLPOS" value="" />
posted on 2004-08-10 15:45 陈叙远 阅读(2179) 评论(11) 编辑 收藏
评论
# re: asp.net小技巧:页面滚动位置保持
我写过js版的:)
<!--
Created by 宝玉 , 2004-2-21
www.webuc.netDescription: 记录页面上次的滚动条位置
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 记录滚动条位置 </TITLE>
<script language="javascript">
<!--
// 获取当前文件名
function getFileName()
{
var url = this.location.href
var pos = url.lastIndexOf("/"
;
if(pos == -1)
pos = url.lastIndexOf("\\"
var filename = url.substr(pos +1)
return filename;
}
function fnLoad()
{
with(window.document.body)
{
addBehavior ("#default#userData"
; // 使得body元素可以支持userdate
load("scrollState" + getFileName()); // 获取以前保存在userdate中的状态
scrollLeft = getAttribute("scrollLeft"
; // 滚动条左位置
scrollTop = getAttribute("scrollTop"
;
}
}
function fnUnload()
{
with(window.document.body)
{
setAttribute("scrollLeft",scrollLeft);
setAttribute("scrollTop",scrollTop);
save("scrollState" + getFileName());
// 防止受其他文件的userdate数据影响,所以将文件名加上了
// userdate里的数据是不能跨目录访问的
}
}
window.onload = fnLoad;
window.onunload = fnUnload;
// -->
</script>
</HEAD>
<BODY>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
dd<p></p>
</BODY>
</HTML>
2004-08-10 17:24 | 宝玉
# re: asp.net小技巧:页面滚动位置保持
请教个问题:您是怎么把<>加入到blog中的?我加入的时候会出错说不能插入脚本?
2004-08-10 18:31 | mancini
# re: asp.net小技巧:页面滚动位置保持
请问这个跟
<@ page smartnavigation=true%>
区别在哪里?
2004-08-10 20:06 | famousun
# re: asp.net小技巧:页面滚动位置保持
www.cnblogs.com/steeven/archive/2004/08/03/29683.aspx Lostinet在里面提出的smartNavigation比较方便。
2004-08-10 20:07 | steeven
# re: asp.net小技巧:页面滚动位置保持
我的意思是在效果上
2004-08-10 20:07 | famousun
# re: asp.net小技巧:页面滚动位置保持
www.cnblogs.com/fengzhimei/archive/2004/07/04/21055.aspx 2004-08-10 21:46 | fengzhimei
# re: asp.net小技巧:页面滚动位置保持
智能导航有IE版本限制,而且可能导致页面某些Style丢失,我现在也已经放弃page的这个属性了~~
2004-08-18 19:45 | minbear
# re: asp.net小技巧:页面滚动位置保持
不错,挺好用的,谢谢了 :)
2005-01-12 11:49 | 庄周梦蝶
# re: asp.net小技巧:页面滚动位置保持
这种做法会不会丢失页面的其他控件的状态和事件??
2005-03-22 10:16 | zqs
# re: asp.net小技巧:页面滚动位置保持
to zqs:
当然不会:)
2005-03-22 10:19 | 陈叙远
# re: asp.net小技巧:页面滚动位置保持
我的问题是:int pos = Convert.ToInt32 (Request["__SCROLLPOS"]);
在哪里对控件赋值了?也就是说,__SCROLLPOS怎么得到scroll的值?谢谢~
2005-03-29 17:52 | lulu
标题 请输入标题
姓名 请输入你的姓名
主页
请输入验证码
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容) 请输入评论内容
Remember Me?
登录 使用高级评论 Top 恢复上次提交
[使用Ctrl+Enter键可以直接提交]