asp中request()参数是表达式时,不能获取值,而参数是具体值,可以获取到值,请问什么原因,具体见内容,叩谢!

本人是刚自学ASP制作网站,现在遇到这个问题,困扰了很久,多次尝试还是没有解决,望各位大家指点迷津,不胜感激。制作的网站功能是用来批量修改后提交至数据库

1、提交页面代码(部分):

<td align="right" width="2%"><input type="text" id="num" name="num<%=rs_extoac("id")%>" size=3 value="<%=formatnumber(rs_extoac("num"),2,-1)%>" ></td>
<td align="center" width="1%"><input type="checkbox" name="id" value="<%=rs_extoac("id")%>"   style="border:0"></td>

2、接收处理的页面代码(部分):

ids=replace(request("id")," ","")
idss=split(ids,",")
for i=0 to UBound(idss)
nums="num"&idss(i)
numss=request("nums")
response.write("变量名:"&nums)
response.write("变量值:"&numss)
next

3、浏览器执行的结果:
变量名:num300
变量值:
变量名:num299
变量值:
变量名:num298
变量值:
4、问题:为什么numss=request("nums") 这个numss变量取不到值?如果我把request参数nums改为“num300”,即numss=request("num300"),则变量值会有值显示。真不知道是什么原因导致的,望大家不吝赐教,叩谢!

你的请求中传的是"num"而不是"nums",所有你在接收端去request("nums")肯定是没有值的。
nums是你在接收端定义的一个变量,使用request()时没法获取到它的值的,可以使用以下方式:

ids=replace(request("id")," ","")
idss=split(ids,",")
for i=0 to UBound(idss)
nums="num"&idss(i)
numss=request("num"&idss(i))
response.write("变量名:"&nums)
response.write("变量值:"&numss)

改成 numss=request("num"&idss(i))