新手站长论坛

 找回密码
 注册会员

QQ登录

只需一步,快速开始

查看: 8386|回复: 57

asp教程---ASP内建对象Response 第七讲----2

  [复制链接]
发表于 2010-9-24 17:17 | 显示全部楼层 |阅读模式
  4、Redirect

  Redirect 方法使浏览器立即重定向到程序指定的 URL。这也是一个我们经常用到方法,这样程序员就可以根据客户的不同响应,为不同的客户指定不同的页面或根据不同的情况指定不同的页面。一旦使用了 Redirect 方法任何在页中显式设置的响应正文内容都将被忽略。然而,此方法不向客户端发送该页设置的其他 HTTP 标题,将产生一个将重定向 URL 作为链接包含的自动响应正文。Redirect 方法发送下列显式标题,其中 URL 是传递给该方法的值。如:

   < % Response.redirect("www.chinabyte.com") %>
  
  5、Write

  Write 方法是我们平时最常用的方法之一,它是将指定的字符串写到当前的 HTTP 输出。

  三、集合

  Response 对象只有一个集合 --Cookie

  Cookies 集合设置 cookie 的值。若指定的 cookie 不存在,则创建它。若存在,则设置新的值并且将旧值删去。

  语法

   Response.Cookies(cookie)[(key)|.attribute]=value
  
  这里的 cookie 是指定 cookie 的名称。而如果指定了 key,则该 cookie 就是一个字典。attribute 指定 cookie 自身的有关信息。attribute 参数可以是下列之一 :

  Domain 若被指定,则 cookie 将被发送到对该域的请求中去。

  Expires 指定 cookie 的过期日期。为了在会话结束后将 cookie 存储在客户端磁盘上,必须设置该日期。若此项属性的设置未超过当前日期,则在任务结束后 cookie 将到期。

  HasKeys 指定 cookie 是否包含关键字。

  Path 若被指定,则 cookie 将只发送到对该路径的请求中。如果未设置该属性,则使用应用程序的路径。

  至此,我们已经学习的 Response 对象的所有属性、方法和集合的理论知识,下面作者将给大家演示一段简单的程序,通过实践让大家加深理解。先将以下程序剪贴到记事簿中,并保存为 asp7.asp。( 注意将 < 和 % 之间的空格去掉 !!!)

  < %
  Dim user
  Dim flag
  Dim pwd
  Dim say
  Response.buffer=true \\\' 开启缓冲页面功能
  Response.ContentType="text/HTML"
  Response.Charset="gb2312"
  user=Request.Form("username")
  pwd=Request.Form("password")
  say=Request.QueryString("say")
  %>
  < form method="POST" action="asp7.asp">
  < p>用户名 :< input type="text" name="username" size="12">< br>
  口 令 :< input type="password" name="password" size="12">< br>
  < input type="submit" value=" 提交 " name="B1">< input type="reset" value=" 取消 " name="B2">< /p>< /form>
  < %
  If say=1 then
  Response.Write " 欢迎书生大驾光临 !"
  End If
  If say >1 then
  Response.Write " 欢迎再次光临书生的 ASP 网站 !"
  End If
  If user="Adm" and pwd="shusheng" Then
  Response.Expires=1 \\\' 设置该页面在浏览器的缓冲中存储 1 分钟后过期。
  flag=1
  ElseIf user="guest" and pwd="guest" Then
  Response.Expires=0 \\\' 使缓存的页面立即过期。
  Response.Clear \\\' 清空存储在缓存中的页面
  flag=2
  ElseIf user="vip" and pwd="vip" Then
  Response.Write " 欢迎 VIP 光临书生的 ASP 网站 "
  flag=3
  Else
  flag=0
  Response.End \\\' 立即停止脚本处理,并将缓存中的页面输出
  End If
  Response.write "< p>< a href=\\\'asp7b.asp?flag="&flag&"\\\'>动态网站设计十八般武艺 --ASP 篇 (7) 实践练习 < /a>< /p>"
  \\\' 将变量 flag 的值传送给 asp7b.asp
  %>
  < p>动态网站设计十八般武艺 --ASP 篇 (7) 实践练习 < /p>
   再将以下程序保存为 asp7b.asp。
  < %
  Dim saysay=Request.QueryString("flag")
  Select case say
  case "1"
  Response.Redirect "asp7.asp?say=1"
  case "2"
  Response.Redirect "asp7.asp?say=2"
  case "3"
  Response.Redirect "asp7.asp?say=3"
  case "0"
  Response.Redirect "asp7.asp?say=0"
  End Select
  %>

  将这两个程序放在有执行权限的 WEB 虚拟目录下,并以 http 方式访问 asp7.asp。在这两个程序中我们充分运用了至今为止所学过的两个 ASP 内建对象 :Request 和 Response。当你第一次访问 asp7.asp 文件时,页面上出现一个 Form 并提示输入用户名和口令,如果你输入用户名 :Adm、口令 :shusheng, 则会出现如下页面 :

2.gif

  如果你输入用户名 :guest、口令 :guest, 则仅出现如下页面 :

4.gif

  这是为什么呢?因为我们设置了页面缓存,当使用 guest 登陆时,判断程序自动清空其之前所有存储在缓存中的页面,而仅将其后脚本程序执行的结果显示出来。

   那为什么第一次登陆 asp7.asp 页面时仅仅只显示一个 Form 对话框呢?因为此时程序判断到用户既非 Adm, 也不是 guest 和 vip,所以执行 Response.End, 立即将存储在缓存中的 Form 显示出来,并停止其后的一切脚本处理,包括纯 HTML 代码的显示。

   无论你是用 Adm 还是 guest 或 vip 登陆该页面你都可以看到一个超链,该超链指向文件 asp7b.asp,当我们点击该超链时,asp7.asp 将变量 flag 的值作为参数发送给 asp7b.asp, 而后者则根据该参数的值来做出判断,并依据不同情况使用 Response.Redirect 再强行返回 asp7.asp, 并也将一个变量 say 的值作为参数发送给 asp7.asp。如此一来,asp7.asp 又会根据此参数来做出不同的反应。

   大家现在都看到了我们仅仅用了两个很简单的程序,就可以做到对同一个页面的多种不同显示结果,这正是 ASP 的魅力所在,各位可以以此示范程序为基础,来进行一些改动,以熟练掌握我们所学的这两个内建对象。
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-3-15 11:00 | 显示全部楼层
不错 学习中 支持
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-4-13 16:39 | 显示全部楼层
先学习一下 共同进步
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-4-29 09:15 | 显示全部楼层
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-5-7 16:14 | 显示全部楼层
先学习一下 共同进步
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-6-2 12:33 | 显示全部楼层
来学习的 谢谢楼主
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-6-10 16:48 | 显示全部楼层
帮你顶,人还是厚道点好
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-7-16 00:35 | 显示全部楼层
要成功先发疯
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-8-9 13:06 | 显示全部楼层
我在q上和你说话
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-8-9 16:53 | 显示全部楼层
额~哦........偶无语
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-8-11 15:29 | 显示全部楼层
唉!猪!你怎么了?
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-8-26 18:32 | 显示全部楼层
我是一个看帖懂得回帖的人。
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-9-10 09:50 | 显示全部楼层
大家都来学习学习
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-9-28 23:41 | 显示全部楼层
这个教程挺好的
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-9-29 16:50 | 显示全部楼层
谢谢您阿,我非常高兴
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2011-11-2 17:43 | 显示全部楼层
装2B并不可怕,可怕的是装反了,成了SB.
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2012-3-7 18:47 | 显示全部楼层
此贴有意思~
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2012-3-7 19:18 | 显示全部楼层
不错的贴,太喜欢了,大家都顶啊
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2012-3-8 09:34 | 显示全部楼层
写的不错  学习了
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
发表于 2012-3-11 12:34 | 显示全部楼层
顶你!辛苦了~
欢迎你和我在新手站长论坛(http://www.cnzhanzhang.com)上相互交流和学习。
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

基础教程 HTML(网页制作基础课) Dreamweaver(网页制作课程) CSS基础知识视频教程 Photoshop(作图基础课) 进阶教程 SEO教程 PHP教程 ASP教程 JavaScript
分步教程: 域名注册教程 空间购买教程 域名解析教程 网站备案教程 域名绑定教程 上传下载教程 思路方法: 菜鸟起步教程 通用建站思路 新手建站过程 本地免费空间
实例教程 Discuz(论坛) Phpwind(论坛) ECshop(网店) Shopex(网店) Dedecms(文章资讯) PHP168(文章资讯) 114la(网址导航) uchome(交友) Wordpress(博客) | 更多
特色板块: 新手站长交流(注册后即可发帖) 数据百度大课堂授课内容 cnzhanzhang学院 站长在线答疑(建站问题免费解答) 建站教程学习区 发外链 发广告 seo交流站长群

QQ|广告报价|Archiver|手机版| 新手站长网 ( 豫ICP备14019290号 )

Powered by Discuz! X3.2

© 2007-2016 新手站长论坛 Inc.

快速回复 返回顶部 返回列表