#12000/12/28 9:21:33
Request对象是从客户端取的信息的,那么相反,Response是向客户端发送信息,比如
<%
user=Request.form("user")
Response.write "你的名字是:"&user
%>
那么客户端的屏幕上将出现:你的名字是:(您在Form内所填写的东西)
Response.write是常用的方法,因此可以简写为<%="你的名字是:"&user%>。方便吗?
Response对象可以设置向客户端输出的很多参数,如HTML的MIME类型,当然是少不了向客户端写入Cookies,如果需要往客户端写入一个叫user的Cookies,则可以有如下的语句。
<%
................
response.cookies("user")="无名氏")
response.cookies("user").expires="JULY 31,2002"
................
%>
程序的第一项是设置Cookies的user值为“无名氏”,而第二项则是设置user这个Cookies的有效时间,您总不能让一个Cookies永远不消失有效吧?因此你可以用它来设定Cookies在什么时间前保持有效。
好了,向客户端写入了一个Cookies,现在大家瞧一瞧这个例子。看看输出会是什么东西?
<%
.........
user=Request.cookies("user")
%>
<%=user%>
没有忘记吧?输出在浏览器上的结果应改只有“无名氏”这三个字。
当我们运行一大段ASP程序时,为了让客户端有一个连续的感觉,因此可以适当使用一下这个Response对象的buffer属性。
如下面程序
<% @language=VBScript%>
<%
Response.buffer=true
%>
........//一段HTML文本(A)
<%
一段执行时间很长的ASP脚本
%>
.......//一段HTML文本(B)
<%
Response.flush
%>
当我们不把buffer属性设为True,那么客户端将会想看到(A)的HTML画面,然后等了一段时间,最后才看到(B)的画面,这样处理上来不太好,所以加入一个buffer属性为True,则(A)的输出先保存在服务器端的缓冲区中,然后处理完脚本,再把(B)加如缓冲内,最后遇到Response的flush方法,就把缓冲区的内容一次发送到客户端,因此感觉上会连续一点,另外,Buffer属性在高级编程中可以起到纠错的能力,因次HTML内容在处理过程中还没有发到客户端,可以用Clear的方法清空了服务器缓冲区的所有HTML文本,这样在某种情况下很有用。
另外,使用Redirect方法可以把客户引领到另一个新的页面,程序如下。
<% @language=VBScript%>
<%
Response.buffer=true
if hour(now)>12 then
Response.Redirect "1.htm"
else
Response.Redirect "2.htm"
end if
Response.flush
%>