在ASP文件间传递变量的几种方法
在这里跟大家一起讨论一下asp程序的一些常用方式,在今后的博文中我会一一跟大家介绍,在动态网页中之所以有强大的功能,除了它能完美的支持数据库外,还有很重要的一点,就是它提供了多种页面间各种传递变量的方法.
什么是变量我想就不需要我在这里重复了吧,呵呵,如果是从搜索引擎找到本文的应该都能理解什么是变量,那么变量在不同页面中如何传递呢?本文就介绍以下几种方式,每种方式各有千秋,找最符合程序的一种试用,切勿生搬硬套。
方法 1 : 利用表单的 ”GET” 方法 , 然后在下一页中 , 利用 Request.querystring 方法获得表单中元素的值 . 例如 :
FILE1 : sending.asp
<form name="sending" method="GET" action="getting.asp" target="_self">
</FONT><font size="2">Name :</font><br>
<input name="name" size="22" >
<br>
<font size="2">Phone:</font><br>
<input name="phone" size="14" >
<br>
<input type="submit" value="Send" name="Send">
</form>
FILE2 : getting.asp
<%
dim gotname,gotphone
gotname = Request.querystring("name")
gotphone = Request.querystring("phone")
%>
方法 2: 利用表单的 ”POST” 方法 , 然后在下一页中 , 利用 Request.Form 方法获得表单中元素的值 . 例如 :
FILE1 : sending.asp
<form name="sending" method="POST" action="getting.asp" target="_self">
</FONT><font size="2">Name :</font><br>
<input name="name" size="22" >
<br>
<font size="2">Phone:</font><br>
<input name="phone" size="14" >
<br>
<input type="submit" value="Send" name="Send">
</form>
FILE2 : getting.asp
<%
dim gotname,gotphone
gotname = Request.Form("name")
gotphone = Request. Form("phone")
%>
方法 3: 在地址栏 , 或超链接中 , 直接输入变量的值 , 然后在下一个页面中用 request.querystring 直接获得它的值 , 例如 :
FILE1 : sending.asp
<%
name = "jin ruimin"
phone = "86528779"
%>
<a href="getting.asp?name=<%=name%>&phone=<%=phone%>" target="_self" ></a>
FILE2 : getting.asp
<%
gotname = request.querystring("name")
gotphone = request.querystring("phone")
%>
方法 4: 利用 session 变量来保存值 , 然后在下面的无论哪个页面中都可以直接提取该变量的值 , 例如 :
FILE1 : sending.asp
<%
session(“name”) = "jin ruimin"
session(“phone”) = "86528779"
%>
FILE2 : getting.asp
<%
gotname = session(“name”)
gotphone = session(“phone”)
%>
方法 5: 该方法与利用 session 变量类似 , 它利用 response.cookies 把值保存 cookies 变量中 , 然后在下面的无论哪个页面中都可以种用 request.cookies 来获得该值 , 例如 :
FILE1 : sending.asp
<%
response.cookies(“name”) = "jin ruimin"
response.cookies(“phone”) = "86528779"
%>
FILE2 : getting.asp
<%
gotname = request.cookies(“name”)
gotphone = request.cookies(“phone”)
%>
方法 6: 利用表单元素中的隐藏域来传递变量 , 如果你不想在网页中显示出表单 , 然后在下一个页面中利用 request.Form 获得值 . 例如 :
FILE1 : sending.asp
<form name=”sending” method=”post” action=”getting.asp”>
<input type=”hidden” name=”name” value=”jin ruimin”>
<input type=”hidden” name=”phone” value=” 86528779” >
</form>
FILE2 : getting.asp
<%
gotname = Request.Form(“name”)
gotphone = Request.Form (“phone”)
%>
结束语 : 上面提到的是我目前会的几种方法 , 当然 , 这些比较简单 . 因为它还没有涉及到任何从数据库里提取数据 , 和写入数据的问题 . 如果这些变量的数值是存储在数据库中的 , 那么得先从数据库中读出这些数据 , 然后把这些值赋给变量 , 用上面几种方法 , 可基本解决页面间传递变量的问题 . 当然 , 还会有几种方法可避开一些页面间的变量传递 , 比如 : 要实现两个文件间 , 两个关联数据表中的数据传递 , 可以用利用多表操作 , 可以避开页面间的变量传递 . 在这里不作讨论 .
不懂的可以在下面评论跟我一起讨论。