网络编程
位置:首页>> 网络编程>> Asp编程>> ASP编程入门进阶教程(6)

ASP编程入门进阶教程(6)

作者:cnbruce 来源:蓝色理想 发布时间:2008-06-29 18:00:00 

标签:入门,asp,编程,教程


通过对Request对象的学习,可以了解到,Request对象是服务器端用来获取客户端的信息的。

但作为服务器和客户端进行交互,是不是还缺少服务器端向客户端发送信息呢?对象Response正是担任此责任。

负责将信息传递给用户的对象就是Response了,它可动态地响应客户端的请求,并将动态生成的响应结果返回给客户端浏览器。

一,Response.write

在Response中write方法是使用最频繁的一个了,write就是写:将指定的字符串写到当前的 HTTP 输出。

1,write.asp

<%
response.write("hello,world"&"<br>")
Randomize
response.write "任意数是"&rnd()&"<br>"
%>

response.write后面为所显示的信息,可以用括号包含,也可以直接书写(注意和response.write之间有空格)。

书写的字符串信息或者HTML代码相关,用引号包含;而ASP本身的函数或变量则不需要,直接用即可。

并且无论字符串信息、HTML代码、函数还是变量之间进行连接都是采用&号(针对vbscript)

以上遇到一个随机函数rnd(),该函数返回一个小于 1 但大于或等于 0 的值。

需要注意的是在调用 Rnd 之前,先使用无参数的 Randomize 语句初始化随机数生成器,该生成器具有基于系统计时器的种子。若缺少Randomize,则无法继续生成随机种子。

下面一个利用随机函数的例子,产生随机背景颜色效果:

运行代码框


当然要产生指定范围的随机整数,请使用以下公式: 

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

这里, upperbound 是此范围的上界,而 lowerbound 是此范围内的下界。
运行代码框


随机函数在做考试系统的时候非常有用,当然你也可以用来自己摇奖,拿个头彩也分点我就行了:)

二,Response.end

这是Response常用的一种方法,使 Web 服务器停止处理脚本并返回当前结果,文件中剩余的内容将不被处理。

主要放在一页多功能的ASP页中,为让程序运行到此,抑或往下的程序没必要再执行显示……

2,end.asp

<%response.write now()
response.end            '程序执行显示到此结束
response.write rnd()%>

三,Response.clear

该方法主要作用是清除缓冲区中的所有 HTML 输出,但该方法只清除响应正文而不清除响应标题。

该方法和end方法似相反,end是到此结束返回上面的结果,而clear却是清除上面的执行,然后只返回下面的结果。

3,clear.asp

<%response.write now()
response.clear           '以上程序到此全被清除
response.write rnd()%>

下面通过一个例子来仔细看看end and clear

4,end2clear.asp

<%
filepath=request.servervariables("script_name")
user=Request.Form("username")
pwd=Request.Form("password")
%>

<form method="POST" action="<%=filepath%>">
name:<input type="text" name="username"><br>
pwd:<input type="password" name="password"><br>
<input type="submit" value="submit">
</form>

<%
If user="cnbruce" and pwd="cnbruce" Then    
   response.write "采用clear方法,上面的程序结果将清除。"
   response.clear     ' 清空存储在缓存中的页面
Else
   response.write "采用end方法,下面的程序将停运。"
   Response.End ' 立即停止脚本处理,并将缓存中的页面输出
End If
%>
如果你只看到“刷新”链接就表明clear方法已经生效<br>
<a href="<%=filepath%>">刷新</a>

 以上程序中,当输入用户名和密码同为cnbruce的时候会发现clear方法的处理结果,反之是另外一个效果。

四,Response.redirect

Redirect 方法是让浏览器立即重定向到程序指定的URL地址。这在根据客户的不同响应,为不同的客户指定不同的页面,或根据不同的情况指定不同的页面时,显得非常重要。
该方法是立即生效的,在其后的脚本都不执行。

5,redirect.asp

<%response.redirect("http://www.cnbruce.com/")%>

以上四则运用属于Response对象的几个比较重要的方法:write、end、clear、redirect等当然方法还有:AddHeader、AppendToLog、BinaryWrite、Flush……
早说过,一个ASP对象除了对象方法外,还有对象属性

那response对象的属性有哪些呢?

五,Response.ContentType

ContentType 属性指定服务器响应的 HTTP 内容类型。如果未指定 ContentType,默认为 text/html

6,contenttype.asp(非text/html的)

<% Response.ContentType = "text/HTML" %>
<% Response.ContentType = "image/GIF" %>
<% Response.ContentType = "image/JPEG" %>
<% Response.ContentType = "text/plain" %>
<% Response.ContentType = "image/JPEG" %>

六,Response.charset

Charset 属性将字符集名称附加到 Response 对象中 content-type 标题的后面,用来设置服务器响应给客户端的文件字符编码。

7,charset.asp

<% Response.charset = "big5" %>

中文显示,但采用的big5繁体的编码,所以看到的是乱码。

当然Response.ContentType和Response.charset应用得比较少了。直接在head头部属性里面添加就OK了。

七,Response.expires

该属性指定了在浏览器上缓冲存储的页,距过期还有多少时间。

如果用户在某个页过期之前又回到此页,就会显示缓冲区中的页面。

但若设置 response.expires=0,则可使缓存的页面立即过期。

这是一个较实用的属性,当客户通过 ASP 的登陆页面进入 WEB 站点后,应该利用该属性使登陆页面立即过期,以确保安全。

引用一个经典的例子

8,expires.asp

<%
Response.Expires = 0 
Response.Expiresabsolute = Now() - 1 
Response.AddHeader "pragma","no-cache" 
Response.AddHeader "cache-control","private" 
Response.CacheControl = "no-cache" 
%> 

八,Response.status

设置服务器要响应的状态行的值。Response.status="状态描述字符串",字符串可以为一个三位整数或一串说明文字组成,但必须防在<html>之前。

9,status.asp

<% Response.Status = "401 Unauthorized" %>

九,Response.buffer

比较重要的一个,值为true or false。该属性指示是否缓冲页输出。

引用:当缓冲页输出时,只有当前页的所有服务器脚本处理完毕或者调用了 Flush 或 End 方法后,服务器才将响应发送给客户端浏览器,服务器将输出发送给客户端浏览器后就不能再设置 Buffer 属性。因此应该在 .asp 文件的第一行调用 Response.Buffer。

Response.buffer=true

对于Response对象的属性方法先到这里,剩下一个数据集合,即cookie。
继续看cookies讲座吧。

0
投稿

猜你喜欢

  • 在软件项目实施的时候,数据导入一直是项目人员比较头疼的问题。其实,在SQL Server中集成了很多成批导入数据的方法。有些项目实施顾问头疼
  • 学习目的: 掌握最基本的Label、TextBox、Button控件用法 掌握用StringBuider类连接字符串 理解服务器的环境变量
  • CSSer与其他IT职位一样,在找工作的时候,都会面临着面试官提出的问题,或者给出的试卷。一、超链接点击过后hover样式就不出现的问题?被
  • 对象Javascript 根本上是和对象相关的。数组是对象。函数是对象。对象是对象。那什么是对象呢?对象是名-值对的集合。名是字符串,值可以
  • 又一个js加密工具:js混淆,完整源代码如下,有点长呵呵:<HTML><HEAD><TITLE>Cunf
  • 1. 游戏是更注重于体验的产品,所以应该将游戏本省做得更加炫动和增加参与感觉。2. 网络游戏和单击游戏的区别在于社会化的添加,所以运用好这样
  • 很多用ACCEE97开发过数据库的用户都有这种体会:要想在窗体中添加一个命令按钮实现打开通用对话框的功能真是很困难。因为ACCESS97本身
  • 很早就听说韩国网站的设计师们很会利用空间,来创造更多的信息承载量.最近浏览了几个韩国SHOPPING网站果不其然,就拿小小的广告轮播来说,非
  • 在许多网页中,当鼠标移到一张图片上时,又弹出另一张图片,做这种广告条,要用到Macromedia DreamWeaver中的Lay
  • 很多时候,用户可能会因为承受不了某一产品中的细节设计而放弃使用该产品,这无疑是让设计人员感很沮丧的事情,因为除去这个细节的问题外,这个产品可
  • 过程名:ManualPagination作 用:采用手动分页方式显示文章具体的内容参 数:ArticleID,strContentSub&n
  • 我设计第一篇网页的时候,就遇到了字体的设置问题。我发现如果用软件约定的字体大小,则显示效果会很难看的。我是用FrontPage2000作网页
  • 个人总结了在开发css框架中的一点经验,献丑了。希望大家的讨论能使我们共同进步。:)1、css框架中国的互联网行业已经发展了10年,浏览器也
  • 下面是用SA-FileUp组件上传一个HTML文件的程序:fileup.htm   < HTM
  • 第一类人,用户体验无所不能。第二类人,用户体验无所不包括。第三类人,用户体验只是指导思想。用户研究通常是做创新的工作,也就注定只少数有财力、
  •  游戏说明:一个考验您记忆力的游戏,只要两个方块的;图案能够凑成一对,最终翻开所有的图片,那么您就获胜,计算机将自动记录您的游戏时
  • 下列语句部分是Mssql语句,不可以在access中使用。SQL语句分类:DDL—数据定义语言(CREATE,ALTER,DROP,DECL
  • 最近,我不得不对我的一个客户的旧网站进行更新,使得它能够达到可访问性的标准。对三四年前的旧代码进行挖掘的想法根本没有吸引力,主要是因为我曾经
  • 在我们制作网页的时候会经常碰到一些需求,如果不知道方法,说不定会困扰我们半天。其实实现它们都很简单,下面我们就一起来看看这些常用的网页编辑方
  • 引文: 长期以来,多媒体信息在计算机中都是以文件形式存放,由操作系统管理的,但是随着计算机网络,分布式计算的发展,对多媒体信息进行高效的管理
手机版 网络编程 asp之家 www.aspxhome.com