Response对象

来源:互联网 发布:淘宝页面背景图尺寸 编辑:程序博客网 时间:2024/04/29 20:03
 

新一篇: Request对象探讨

Response对象

Response对象非常重要,而且有许多特性。我们将关注其最常用的一些功能。可用于
80%场合的20%的功能。

response.write
response.write的变体 <%= %>它可使ASP方便地插入HTML中
response.end which 有效地中止代码
response.redirect 调用其它页面
下面是一个实例,用response.write发送信息到浏览器。同时用到了dateadd,一个
内建功能,相关文档在:
http://help.activeserverpages.com/iishelp/VBScript/htm/vbs90.htm.

<html><head>
<title>response.asp</title>&
<body color="#FFFFFF">
<%
when=now()
tommorow=dateadd("d",1,when)
twoweekslater=dateadd("ww",2,when)
fourteenweekdayslater=dateadd("w",14,when)
monthlater=dateadd("m",1,when)

sixminuteslater=dateadd("n",6,when)
sixhourslater=dateadd("h",6,when)
fortysecslater=dateadd("s",40,when)

response.write "Now <b>" & when & "</b><br>"
response.write "tommorow <b>" & tommorow & "</b><br>"
response.write "2 weeks from Now <b>" & twoweekslater & "</b><br>"
response.write "fourteen working days from Now <b>" &
fourteenweekdayslater & "</b><br>"
response.write "1 month from Now <b>" & monthlater & "</b><br>"
%>
six minutes from now <b> <%=sixminuteslater%> </b><br>
six hours from now <b> <%=sixhourslater%> </b><br>
fourty seconds later <b> <%=fortysecslater%> </b><br>
</body></html>

 下面是用response.end终止一个页面操作:

<html><head>
<title>end.asp</title>&
<body color="#FFFFFF">
<%
when=now()
tommorow=dateadd("d",1,when)
twoweekslater=dateadd("w",2,when)
monthlater=dateadd("m",1,when)
sixminuteslater=dateadd("n",6,when)
sixhourslater=dateadd("h",6,when)

response.write "Now <b>" & when & "</b><br>"
response.write "1 month from Now <b>" & monthlater & "</b><br>"
response.end
response.write "2 weeks from Now <b>" & twoweekslater & "</b><br>"
%>
six minutes from now <b> <%=sixminuteslater%> </b><br>
six hours from now <b> <%=sixhourslater%> </b><br>

Response对象2

响应对象 错误 'ASP 0156 : 80004005'
标题错
go.asp, 行10
HTTP标题已经写入到客户浏览器。任何HTTP标题的修改必须在写入页内容之前。


上面的错误信息是否曾困扰过你?(蜘蛛精:是否曾让你抓耳挠腮,彻夜难眠,最后
不得不以头撞墙而终?鄙人便饱受其害,至今仍为其消得人憔悴。)

<%response.buffer=true%>
上句须加在所有通过redirect调用HTML文档的代码之前.这一句可以让浏览收到HTTP
标题已被写入的信息。通常一个页面含有标题--or-- 。

如果浏览器在写文本,你不能再用response.redirect来写文本,鱼和熊掌不可兼
得。

<%response.buffer=true%>

它告诉浏览器不到写任何内容,直到:
a) response.end 中止页面操作
b) response.flush 开始执行
c) 100% of the page is executed 页面操作完全执行完
d) response.redirect命令已发出,response.flush不再传送任何内容或文本。

<%response.buffer=true%> 的唯一反馈是如果页面正在进行长时间地处理(如处理
有上千数据的数据库时),只有等到所有该处理的内容完成后,才可以出现期待的页
面。通常人们会认为浏览死住了,为此
response.flush
可以让人们逐步地看到处理过的页面。因此,我们说BUFFER=true和flushing是产生
速度的理想方法。
/advice/whybuffer.asp

<%response.buffer=false%>
<html><head>
<title>dailystuff.asp</title>
</head>
<body>
<%
whatweekday=Weekday(now())
select case whatweekday
case vbSunday
   response.redirect "http://www.cnn.com"
case vbMonday
   response.redirect "http://www.activeserverpages.com"
case vbTuesday
   response.redirect "http://www.aspalliance.com"
case vbWednesday
   response.redirect "http://www.aspconvention.com"
case vbThursday
   response.redirect "http://www.aspmagazine.com"
case vbFriday
   response.redirect "http://www.dilbert.com"
case vbSaturday
   response.redirect "http://www.movielink.com"
end select
%>
</body>
</html>


下面是修改后的代码,执行时不会出现出错信息。

<%response.buffer=true%>
<html><head>
<title>dailystuff.asp</title>
</head>
<body>
<%
whatweekday=Weekday(now())
select case whatweekday
case vbSunday
   response.redirect "http://www.cnn.com"
case vbMonday
   response.redirect "http://www.activeserverpages.com"
case vbTuesday
   response.redirect "http://www.aspalliance.com"
case vbWednesday
   response.redirect "http://www.aspconvention.com"
case vbThursday
   response.redirect "http://www.aspmagazine.com"
case vbFriday
   response.redirect "http://www.dilbert.com"
case vbSaturday
   response.redirect "http://www.movielink.com"
end select
%>
</body>
</html>

原创粉丝点击