4.2.4 实现网页的重定位
4.2.3节讲了一些关于Response对象的属性,本节就来讲Response对象的方法。Write方法是Response对象中最常用的方法之一,它可以把变量的值发送到用户端的当前页面。Write方法的功能非常强大,可以输出几乎所有的对象和数据。
1.Write方法
当我们在注册成为某个网站的用户时就需要填写一张表单,当提交之后会返回一张你所填的表单确认信息,这样你就可以知道有没有填错的地方。而Write方法就是将指定的字符串写到当前的HTTP输出。Variant就是需要写的数据。该参数可以是任何VBScriptingEdition的Variant数据类型,包括字符、字符串和整数。该值不能包括字符组合“%>”,如果需要,可用转义序列“%\>”代替。Web服务器在处理脚本时,将转换这一转义序列。
Write方法的参数也可以是一个带HTML标记的字符串,当大量的ASP代码中包含个别的HTML标识时,除了使用“<%”和“%>”将ASP程序拆分成若干段以外,也可使用Response对象的Write方法将其他字符直接传送至客户端。Write方法引用的一般格式为:
Response.Write Variant
假设用户用蓝色在客户端浏览器显示“color is blue”,反之用红色显示“color is red”,程序如下:
html
head
meta name ="GENERATOR"content="Microsoft FrontPage 5.0"
meta name ="ProgId" content="FrontPage.Editor.Document"
meta http-equiv="Content-Type" content="text/html;charset=gb2312"
title 新建网页 /title
/head
body
%
if Session("Name")="gark"then
result="蓝色的字" 'result的值
Find=True '如果为真
Response.Write "font color=blue" '输出字体颜色为蓝色
Response.Write result '输出result值
Response.Write "/font" '字体颜色输出结束
else
result="红色的字" 'result的值
Find=False '如果为假
Response.Write "font color=red" '输出字体颜色为红色
Response.Write result '输出result值
Response.Write "/font" '字体颜色输出结束
end if
%
/body
/html
|
该语句输出的结果如图4-9所示。
![]() |
| 图4-9 红色的字 |
在上例中,所有的、
、等标识都被Response对象的Write方法将字符串直接发送至浏览器解释执行。
在一个ASP文件中,“<%”和“%>”标识以外的代码,服务器端的脚本引擎不会对其进行任何的处理,直接将其下载到用户端的浏览器上,由浏览器解释执行。所以用户可以在一个HTML文档中嵌入ASP程序代码,来实现动态交互页面。
注意:因为该HTML文档中含有ASP程序代码,所以该文档应以.ASP为扩展名,这样服务器端的脚本引擎才能解释并执行其中的ASP程序。
当使用VBScript作为实现的脚本语言时,由于VBScript的静态字符常量的长度不能大于1022B,所以当输出长度大于1022B的静态字符串需要一个变量来引用。在使用Response对象的Write方法时,输出的字符串中不允许含有“%>”字符。因为当服务器端的脚本引擎发现“%>”字符串后,会将其视为ASP程序的终止符而产生错误。当需要输出“%>”字符串时,可以使用转义字符串“%/>”来代替。下面将举例说明:
% Response.Write"TABLE WIDTH=100%/" % |
该语句输出的结果为:<%TABLE WIDTH=100%>
有时候也可以把输出的字符串分开来输出,否则很难实现其功能。例如下面的例子:
html head title false /title /head body % fontcolor="red" 'fontcolor的值为red '输出WELCOME字体颜色为fontcolor response.write"font color=fontcolor WELCOME /font" % /body /html |
当运行上面的程序时,就会出现错误,因为输出字符串内容时被直接传送到浏览器去解释,但是浏览器并不认识fontcolor,所以将显示错误的字体颜色。如何让浏览器认识fontcolor,请参看下面的例子:
html head title true /title /head body % fontcolor="red" 'fontcolor的值为red '输出WELCOME字体颜色为fontcolor response.write"font color="&fontcolor&" WELCOME /font" % /body /html |
在上面的例题中用到了“&”连接符,通过“&”连接符将字符串分开来输出,这样浏览器就能认识fontcolor,就可以正确地显示字体的颜色。
2.Clear方法
Clear方法是删除缓冲区中的所有HTML输出。当Response对象的Buffer属性被设置为true时,则在使用Clear方法以后,在服务器的缓冲区将被设置为空,所有的数据将会丢失。若Response对象的Buffer属性没有被设置为true,则在使用Clear方法时会产生一个运行模式的错误。Clear方法引用的一般格式为:
Response.Clear
3.Flush方法
Flush方法是将服务器缓冲区内的所有数据发送到客户端的浏览器上。由于设置了Response对象的Buffer属性为true,那么所有的ASP程序将在服务器端完全解释后才被发送到浏览器中,如果程序员需要控制在某个断点并符合特定条件时将已经完成的页面发送到客户端,就可以使用这种方法来完成。若事先没有设置Response对象的Buffer属性为true,则Flush方法统一会产生一个运行模式的错误。Flush方法引用的一般格式为:
Response.Flush
注意:当一个ASP程序中使用了Flush方法,那么服务器将不再与当前页面保持活动的数据连接。
4.End方法
有经验的用户会在上网时直接在地址栏写入地址,这样就有可能进入到该用户权限以外的页面。如何来防止这种事情的发生呢,就是设置一个方法,使没有权限的用户在进入页面时,自动终止程序,而不解释后面的程序,这样该用户就无法进入权限以外的页面了。
End方法是终止当前ASP页面的执行,使用该方法后的所有数据将不被解释,服务器将直接断开与客户端的数据传输,或者处理该页面以外的程序。如果Response对象的Buffer属性为true,这时End方法立即把缓存中的内容发送到客户并清除缓冲区。所以要取消所有向客户端的输出,可以先清除缓冲区,然后再利用End方法。
当用户在上网的时候,要强行进入管理员页面时,系统就会提示没有该权限,这就是利用End方法来实现的。使用End方法终止程序执行,可以防止不符合特定条件的用户访问到其权限以外的数据。End方法引用的一般格式为:
Response.End
如果不希望将输出返回给用户,应调用以下程序:
% Response.Buffer=True On error Resume Next Err.clear %> <% if Err.number<>0 then Response.Clear Response.End End if % |
| 回书目 上一节 下一节 |
|
· Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. · 08年5月各大网上书店及.. |
· 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. · 系统分析师自测获奖名.. |
|
||||
| · ASP.NET开发教程 · 专题:ASP.NET 2.0基础.. · LAMP技术精解 · 服务器节能与绿色IT · ARP攻击防范与解决方案 · Linux 集群技术专题 · Windows集群服务应用 · CISSP认证成长之路 |
· SQL Server 2008/2005.. · SQL Server入门到精通 · 网络工程师职业规划与.. · 浏览器的战国时代 · 运营商封堵ADSL共享 中.. · 微软出价446亿美元收购.. · 技术人求职简历完备手册 · 开源虚拟化技术Xen |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Apache技术专题 · Windows集群服务应用 · 国际文档格式标准开战 |
· 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 · 了解统一威胁管理(UTM).. · 专题:AIX操作系统管理.. · 访问控制列表(ACL)介绍 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · 三层交换技术专题 · Apache技术专题 · 企业数据恢复指南 · Windows集群服务应用 |
· 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 · 访问控制列表(ACL)介绍 · ASP.NET开发教程 · PHP开发应用手册 |
|||