asp request()的问题,急!!!谢谢您了。

来源:百度知道 编辑:UC知道 时间:2024/05/21 07:31:53
asp中的request()方法可以提取表单中的数据。这我明白。有request.form()和request.querystring().可是在一个记录集分页显示的例题中,却直接写了request("page"),我不明白。我还有一点没明白:变量不是要先声明吗可是这道题中的page变量是在使用request("page")之后定义的阿?请高手解答了。
----
<%
set conn = Server.CreateObject("ADODB.Connection")
conn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" &_
Server.MapPath("person.mdb"))
set rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT * FROM grade"
rs.Open sql, conn, 3
rs.PageSize = 4
'第一次显示没有页码,默认显示第一页
If Request("page") <> "" Then
iPage = Cint(Request("page")) //???????????
Else
iPage = 1
End If
Response.Write("当前第" & iPage & "页")
rs.AbsolutePage = iPage
%>
<TABLE border="1"><TR>
<TD>学号</TD><TD>性别</TD><TD>姓名</TD><TD>数

1更正一下楼上的,request("page")的意思是都可以接收request.form("page"),request.querystring("page")(post,get)这两个方法传递的变量.
不过这样做会产生漏洞.
例如翻页
楼上的<A HREF="pageV2.asp?page=<%=iPage + 1%>">是get,但在同时需要一个直接转到n页的,这里一般用form来做,也就是post,所以用一个request("page")就可以接受两种形式的变量.
2
先理清一个概念
page和request("page")里的page没有丝毫关系.
request("page")里的page是request对象一个标量.
vbscript里的变量不需要声明
这也是解释语言和编译语言的一个区别之一
随时用随时申请内存空间.

难以理解吗?
request是提取客户机表单内容,不错,有两种方法:request.form("page")对应的是POST方法,但GET方法也能用。而request.querystring("page")只能用于GET方法。但有时为了省事,我们不管前边是什么样的方法都这样用:request("page")来代替request.form("page").

不知道为什么"page"没有定义?这个page是表单中的一个形参,是由客户机向服务机表出的请求,而非与其他定义向关,只是表示客户机的请求字符串中含有page这一个变量的,如果没有会取值为:“undefined”,呵呵。

你可能见过这种形式:http://www.XXX.