asp在循环语句中传递网页变量应该如何处理

来源:百度知道 编辑:UC知道 时间:2024/05/27 20:28:37
asp在循环语句中传递页面变量的问题。本意为数据库查询出的结果列表显示,点击其后“内容”链接跳转LR.ASP并将相应数据内容传递过去。但由于程序设计不合理,传递过去的都是最后一条记录的内容。如何处理,请高手指点。
主程序如下:
while not recordset2.eof%>
<%
str=recordset2("内容")
application("str")=str%>'变量存入APPLICATION以便进行网页间传递
response.write recordset2("文件名称")
<a href="lr.asp">内容</a>
<%
recordset2.movenext
wend%>

lr.asp内容如下:
<%str=application("str")
response.write (str)%>
回复一楼:这是一个法律文件全文检索系统,“内容”为备注字段,放置全文。由于法律全文过大,不可能在检索数据库的同时列出所有符合条件的全文,只能通过点击方式打开指定的文件。就必须通过网页变量将指定的信息传递到LR.asp,然后显示全文。
回复二楼:您所说的虽然技术上可行,然同时显示的全文过多。请指教数组传递及传递过去之后的调用处理。

这是循环修改APPLICATION的值了
可以建立lr2.asp
<%
(...数据库连接)
sql="select * from 表格 where 文件名称='"&request("filename")&"'"
(...查询)
str=recordset2("内容")
application("str")=str
response.redirect("lr.asp")%>
原来那个文件的链接部分就改成
<a href="lr2.asp?filename=<%=server.urlencode(recordset2("文件名称"))%>">内容</a>
应该就可以的啦

...

M = recordset2.fields.count-1
Redim arr(M)

for i=0 to m
str=recordset2("内容")
arr(i)=str '把值赋值给数组
response.write recordset2("文件名称")
<a href="lr.asp">内容</a>
<%
next%>
....

你用的循环。每次都会改变application("str")的内容,读取到最后一条,不再改变了,当然只能显示最后一条了。

解决的办法就是使用数组。

但是我也不推荐你那么做。

我搞不懂你,
str=recordset2("内容")
application("str")=str
这个干什么?
所以没法推荐给