asp编程高手请指教:一个关于分页后变量的问题。

来源:百度知道 编辑:UC知道 时间:2024/05/15 03:44:39
大家请看一下这段代码:
if not request("page")="" and isnumeric(request("page")) then
pagecount=cint(request("page"))
if pagecount<0 then pagecount=1
else
pagecount=1
end if
pagelist=10
rs2.pagesize=pagelist
sumtitle=rs2.recordcount
rs2.AbsolutePage=pagecount
sumpage=rs2.pagecount
x=0
xx=1
do while not rs2.EOF
lou=lou+1
if x=1 then
if pagecount<>1 then lou=lou+(pagecount-1)*10
if lou=1 then lou=(pagecount-1)*10+1
end if
我的本意是在分页时用一个初始值为0的lou变量给每一个记录都加一个序号,可是结果是第一页显示正常,可从第二页开始又这个变量又从0算起,于是我加了if x=1 then
if pagecount<>1 then lou=lou+(pagecount-1)*10
if lou=1 then lou=(pagecount-1)*10+1
end if
这段代码,是想让多页后序号仍显示正常 ,现在的结果是,除了第一条以外,其它的都显示正常,有没有高手可以帮我分析一下为什么会这样。还有,如果把if lou=1 then lou=(pagecount-1)*10+1写到if外的话,那么第二页的第二条记录序号就显示的是22,第三页记录显示的是33,以此类推,写到里边就没有效果,我很纳闷。
有没有更好的答案,第一个回答虽然说行,但在我的页面里不适用。

肯定了,当重新点击下一页时,打开的是新的一个页面,计数器当然置为0了。
你可以将这个记数器用session变量暂时保存,
也就是说将每页中循环的最大值用session("CountId")保存,
下一页时,循环的[初值用session("CountId")
给你一个例子:
<%
page=1
if request("page")<>"" then
for i = session("CountId") to session("CountId")+10
response.write("编号:"&i&"<p>")
next
session("CountId")=i
response.write(session("CountId"))
end if
%>

<a href="temp.asp?page=null">下一页</a>

程序中的数字10是你每页显示的最大记录数