注册 登录
编程论坛 ASP技术论坛

超链接多值问题

kevinxu0638 发布于 2010-12-01 10:15, 1424 次点击
当我的地址栏的地址是http://localhost/sssss/files/lb.asp?typestr='鲁菜'&PageNo=1是
只有本站会员才能查看附件,请 登录
大家看清楚图片我是有第二页的,但是当我点击下一页的时候地址是http://localhost/sssss/files/lb.asp?typestr='鲁菜'&PageNo=2出现
只有本站会员才能查看附件,请 登录
这是什么情况
页面代码:<%  
    Dim X_typestr
    X_typestr=Request.QueryString("typestr")
Dim db,strSql,rs
    Set db=Server.CreateObject("ADODB.Connection")
    db.Open "Dsn=background"                           
    Set rs=Server.CreateObject("ADODB.Recordset")
    strSql="Select * From news where typestr ="&X_typestr
    rs.Open strSql,db,1
    %>
    <table cellspacing="0" cellpadding="0" width="510"  background="../images/tu_di.gif" border="0">
      <tr>
        <td width="7"><img height="29" src="../images/tu(1).gif" width="7" /></td>
        <td ><font color="#ffffff"><b>列表</b></font></span></td>
        <td width="7"><img height="29" src="../images/tu1.gif" width="7" /></td>
      </tr>
    </table>
    <%
Rs.PageSize = 3
If Request("PageNo") = "" Then PageNo=1 Else PageNo = CInt(Request("PageNo"))
If PageNo < 1 Then Response.Redirect "?PageNo=1" & Qs
If PageNo > Rs.PageCount And Rs.PageCount > 0 Then Response.Redirect "?PageNo=" & Rs.PageCount & Qs
If Rs.Eof and Rs.Bof Then PageNo = 0 Else Rs.AbsOlutePage = PageNo
dim FY_i
FY_i=1
For x = 1 to Rs.PageSize
If Rs.Eof Then Exit For
if FY_i=1 or FY_i mod 3=1 then
%>
<table style="BORDER-RIGHT: #1f92ff 1px solid; BORDER-TOP: 0px; BORDER-LEFT: #1f92ff 1px solid; BORDER-BOTTOM: 0px;" cellspacing="0" width="510" border="0"  >
  <tr height="10"><%end if%>   
    <td valign="top" width="170">
    <div align="left"><%      
      if len(rs("title")) > 8  then  
      if (InStr(rs("memo"),"<img")>0) or (InStr(rs("memo"),"<IMG")>0) then
        %><a href="zw.asp?id=<%=rs("id")%>" target="_blank"><%
         response.Write left(rs("title"),5)&" ..." %></a>&nbsp;<img src="../images/pic.gif" width="12" height="12"><%
         else
         %><a href="zw.asp?id=<%=rs("id")%>" target="_blank"><%
         response.Write left(rs("title"),5)&" ..."%></a><%
         end if   
      else
          if (InStr(rs("memo"),"<img")>0) or (InStr(rs("memo"),"<IMG")>0)  then
          %><a href="zw.asp?id=<%=rs("id")%>" target="_blank"><%
         response.write rs("title")%></a>&nbsp;<img src="../images/pic.gif" width="12" height="12"><%
         else
          %><a href="zw.asp?id=<%=rs("id")%>" target="_blank"><%
            response.write rs("title")%></a><%
            end if
      end if        
    %></div></td> <%
if FY_i mod 3=0 then
%>
  </tr>
  </table><% end if
FY_i=FY_i+1
rs.movenext
next
%> <table style="BORDER-RIGHT: #1f92ff 1px solid; BORDER-TOP: 0px; BORDER-LEFT: #1f92ff 1px solid; BORDER-BOTTOM: #1f92ff 1px solid" cellspacing="0" width="510" border="0" >

                <tr><td>&nbsp;</td></tr>   
              <tr>
                <td align="center">
            总[<span class="style1">
            <% = Rs.RecordCount%>
            </span>]条<strong>|</strong> <span class="style1">
            <% = Rs.PageSize%>
            </span>条<strong>/</strong>页 <strong>|</strong> 当前<span class="style1">
            <% = PageNo%>
            </span><strong>/</strong><span class="style1">
            <% = Rs.PageCount%>
            </span>页 <a href="lb.asp?typestr='<%=rs("typestr")%>'&PageNo=<% =Rs.AbsOlutePage%>" >首页</a> <a href="lb.asp?typestr='<%=rs("typestr")%>'&PageNo=<% = PageNo - 1%><% = Qs%>">上一页</a> <a href="lb.asp?typestr='<%=rs("typestr")%>'&PageNo=<% = PageNo + 1%><% = Qs%>">下一页</a> <a href="lb.asp?typestr='<%=rs("typestr")%>'&PageNo=<% =Rs.PageCount%>">尾页</a>
            <!--分页代码结束-->
</td>
              </tr>
            </table>
30 回复
#2
gupiao1752010-12-01 11:35
<a href="lb.asp?typestr='<%=rs("typestr")%>'&PageNo=<% = PageNo + 1%><% = Qs%>">下一页</a>
PageNo=2出现
你这里一下传递给PAGENO2个参数,不错都很难!
#3
gupiao1752010-12-01 11:37
建议楼主加个正则过滤下,只保留合理的数字,其他特殊字符和中文全部过滤掉,不然人家如果故意在后面加中文字的话,你代码就报错了!
#4
kevinxu06382010-12-01 12:08
回复 3楼 gupiao175
PageNo=<% =Rs.AbsOlutePage%><% = Qs%>这个没问题的 于这个没关系 加也是那个错误不加也是
#5
gupiao1752010-12-01 12:26
以下是引用kevinxu0638在2010-12-1 12:08:55的发言:

PageNo=<% =Rs.AbsOlutePage%><% = Qs%>这个没问题的 于这个没关系 加也是那个错误不加也是
我说的是这个<a href="lb.asp?typestr='<%=rs("typestr")%>'&PageNo=<% = PageNo + 1%><% = Qs%>">下一页</a>
不是这个:PageNo=<% =Rs.AbsOlutePage%><% = Qs%>这个没问题的 于这个没关系 加也是那个错误不加也是

<a href="lb.asp?typestr='<%=rs("typestr")%>'&PageNo=<% =Rs.AbsOlutePage%>" >首页</a>首页能这样处理吗?晕死!
<a href="lb.asp?typestr='<%=rs("typestr")%>'&PageNo=1" >首页</a>
#6
kevinxu06382010-12-01 12:34
回复 5楼 gupiao175
<a href="lb.asp?typestr='<%=rs("typestr")%>'&PageNo=1" >首页</a>还是没用
http://localhost/sssss/files/lb.asp?typestr='鲁菜'&PageNo=2时还是
错误类型:
ADODB.Field (0x80020009)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
/sssss/files/lb.asp

#7
gupiao1752010-12-01 12:54
打包发上来看看。
#8
kevinxu06382010-12-01 13:08
回复 7楼 gupiao175
好的
只有本站会员才能查看附件,请 登录
#9
jansonwang2010-12-01 13:52
<a href="lb.asp?typestr=<%=rs("typestr")%>&PageNo=1" >
#10
kevinxu06382010-12-01 14:14
回复 9楼 jansonwang
<%=rs("typestr")%>的值是汉字 比如是鲁菜 typestr=鲁菜可以?要加''吧typestr='鲁菜'
#11
hams2010-12-01 14:31
Rs.PageSize = 3
把这个改为10看看第一页会不会出错
#12
kevinxu06382010-12-01 14:44
回复 11楼 hams
不会的 这个是控制一页显示多少个的
#13
jansonwang2010-12-01 15:02
以下是引用kevinxu0638在2010-12-1 14:14:23的发言:

的值是汉字 比如是鲁菜 typestr=鲁菜可以?要加''吧typestr='鲁菜'
 
我是这么写的
#14
jansonwang2010-12-01 15:07
为什么要加单引号呢?你要传递的参数是'<%=rs("xx")%>'还是<%=rs("xx")%>?
再说你没试过怎么知道我的是错的你写的是对的呢 呵呵
#15
kevinxu06382010-12-01 15:14
回复 14楼 jansonwang
你那个我一开始就写咯 后来不对 我才加的 我没加的时候地址栏里是typestr=鲁菜&PageNo=1没显示后来加了有显示了但点下一页就不行了

[ 本帖最后由 kevinxu0638 于 2010-12-1 15:18 编辑 ]
#16
jansonwang2010-12-01 15:21
地址栏里是typestr=鲁菜&PageNo=1 是对的
你说的有显示和没显示的是分页吧?
#17
kevinxu06382010-12-01 15:51
回复 16楼 jansonwang
不是 鲁菜外要加''的不然就不对
#18
kevinxu06382010-12-01 21:15
回复 2楼 gupiao175
gupiao175版主包打了指点指点啊 期待ing....
#19
hams2010-12-02 08:00
以下是引用kevinxu0638在2010-12-1 14:44:08的发言:

不会的 这个是控制一页显示多少个的
我会不知道么
#20
kevinxu06382010-12-02 13:33
回复 19楼 hams
版主不要误会我没说你不懂
#21
kevinxu06382010-12-02 14:01
只有本站会员才能查看附件,请 登录
里面有两个页面bdcx.asp lb.asp 和一个数据库 运行bdcx.asp 点击菜系名在lb.asp里显示数据库相应的内容

现在的问题是比如点击鲁菜 刚打开是正常的 但点击下一页后就出错了 代码都在包里 高手大侠帮忙看看
#22
hams2010-12-02 14:30
以下是引用kevinxu0638在2010-12-2 13:33:18的发言:

版主不要误会我没说你不懂
我没有误会,只是你还不明白我要你那么改的思路。问题可能出在数据记录指针上,而不是分页上。
#23
kevinxu06382010-12-02 14:45
回复 22楼 hams
分页是没有问题 我上面的包你下载看看 帮帮忙
#24
jansonwang2010-12-02 16:46
我能到下一页啊
#25
jansonwang2010-12-02 16:47
到最后一页报错
#26
kevinxu06382010-12-02 17:33
回复 25楼 jansonwang
呃 不是吧 我不管哪个点了都报错
#27
wangjy5002010-12-02 22:36
只有本站会员才能查看附件,请 登录

看下。顺便送给你一个分页代码!研究下!

[ 本帖最后由 wangjy500 于 2010-12-2 23:09 编辑 ]
#28
kevinxu06382010-12-02 23:56
回复 27楼 wangjy500
谢谢
#29
hams2010-12-03 07:59
也就是在一页中,遇到数据eof就出错,这个也是分页中常遇到的。
#30
jansonwang2010-12-03 09:25
只有本站会员才能查看附件,请 登录

你的代码加了几句就可以了。没仔细看你的代码,就找了错误原因后乱打了几句,就可以了。我真是幸运。哈哈
#31
kevinxu06382010-12-03 20:14
谢谢各位的帮助啊 呵呵
1