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对象用于向客户端浏览器发送数据,用户可以使用该对象将服务器的数据以HTML的格式发送到用户端的浏览器,它与Request组成了一对接收、发送数据的对象,这也是实现动态的基础。下面介绍它常用的属性和方法。
1、Buffer属性
该属性用于指定页面输出时是否要用到缓冲区,默认值为False。当它为True时,直到整个Active Server Page执行结束后才会将结果输出到浏览器上。如:
<%Response.Buffer=True%>
<html>
<Head>
<title>Buffer示例</title>
</head>
<body>
<%
for i=1 to 500
response.write(i & "<br>")
next
%>
</body>
</html>
这页执行时,整个主页的所有内容会同时显示在浏览器上,这个主页会存在缓存区中直到脚本执行结束。
2、Expires属性
该属性用于设置浏览器缓存页面的时间长度(单位为分),必须在服务器端刷新。通过如下设置:<%Response.Expires=0%>
通过在ASP文件中加入这一行代码,要求每次请求是刷新页面,因为Response一收到页面就会过期。
3、Write方法
该方法把数据发送到客户端浏览器,如:<%Response.write "Hello,world!"%>
4、Redirect方法
该方法使浏览器可以重新定位到另一个URL上,这样,当客户发出Web请求时,客户端的浏览器类型已经确定,客户被重新定位到相应的页面。如:
<html>
<head>
<title>Redirect示例</title>
</head>
<body>
<form aciton="formjump.asp" method="post">
<select name="wheretogo">
<option selected value="fun">Fun</option>
<option value="news">News</option>
<option value="sample">Sample</option>
</select>
<input type=submit name="jump" value="Jump">
</form>
</body>
</html>
以上是提交的表单,下面是处理表单的文件formjump.asp:
<%response.buff=true%>
<html>
<head>
<title>Redirect示例</title>
</head>
<body>
<%
thisurl="http://jefenet.yesky.net"
where=Request.form("wheretogo")
Select Case where
case "fun"
response.redirect thisurl & "/fun/default.asp"
case "news"
response.redirect thisurl & "/news/default.asp"
case "sample"
response.redirect thisurl & "/sample/default.asp"
End Select
%>
</body>
<html>
这个例子当用户选择了以后,按"Jump"按钮提交表单,服务器接到申请后调用formjump.asp判断后定位到相应的URL。不过这里有一点要注意,HTTP标题已经写入到客户浏览器,任何HTTP标题的修改必须在写入页内容之前,遇到这种问题时,可以如下做:
在文件的开始<@ Language=..>后写:Response.Buffer=True
在结尾定:Response.Flush
这里Flush是Response的一个方法,它必须是Buffer属性设置为True时才能使用,否则会产生一个运行模式错误。另外一个Clear方法也是用于清除被缓存的页面,同样要Buffer属性设置为True时才能使用。
5、End方法
该方法用于告知Active Server当遇到该方法时停止处理ASP文件。如果Response对象的Buffer属性设置为True,这时End方法即把缓存中的内容发送到客户并清除冲区。所以要取消所有向客户的输出民,可以先清除缓冲区,然后利用End方法。如:
<%
Response.buffer=true
On error resume next
Err.clear
if Err.number<>0 then
Response.Clear
Response.End
end if
%>
Response对象可以动态地响应客户端的请求,并将动态生成的响应结果返回给客户端浏览器。Response对象可以实现很多功能,例如,向客户端输出数据,跳转网页等。Response对象是HttpResponse类的一个实例。该类主要是封装来自ASP.NET操作的HTTP响应信息。
Response对象的Cookies属性为HttpCookie对象,其常用属性如下所示:
1、Response对象的属性
Response对象提供了一系列方法,可以实现输出信息到客户端,包括直接发送信息给浏览器、重定向浏览器到另一个URL或设置cookie的值等等。
2、Response对象的方法
单击上方图的“输出”按钮,其运行效果如下方图所示:
3、Response对象示例
protected void Button1_Click(object sender, EventArgs e)
{
//跳转到Request.aspx页,并传递参数m
Response.Redirect("Request.aspx?m=2");
}
protected void Button2_Click(object sender, EventArgs e)
{
//用write输出当前时间
Response.Write("<br>");
Response.Write("当前时间是:" + DateTime.Now.ToString());
Response.Write("<br>");
for (int i = 0; i < 100; i++)
{
Response.Write(i.ToString());
//当i=10时,停止输出数据
if (i == 10)
Response.End();
}
}
Response对象的主要功能是将数据信息从服务器端传送数据至客户端浏览器。Response对象的方法包括Write、Content Type、Redirect、Clear、End、Flush、BinaryWrite、AddHeader和AppendToLog等共8种。
zzzzResponse对象的属性包括Buffer、AddHeader、Expires、ExpiresAbsolute、Status、CacheControl、和IsClientConnected等。
zzzzResponse对象的数据集合为Cookie。
zzzz“集合”是类似于数组的数据结构,可存储字符串、数值、对象和其他值。与数组不同的是,集合可以根据所获得或存储的项目自动伸缩。随着集合发生变化,项目的位置也将变动。要访问集合中的项目,可以通过项目惟一的关键字或项目在集合中的索引(位置)来实现。
Response对象的主要功能是将数据信息从服务器端传送数据至客户端浏览器。Response对象的方法包括Write、Content Type、Redirect、Clear、End、Flush、BinaryWrite、AddHeader和AppendToLog等共8种。
zzzzResponse对象的属性包括Buffer、AddHeader、Expires、ExpiresAbsolute、Status、CacheControl、和IsClientConnected等。
zzzzResponse对象的数据集合为Cookie。
zzzz“集合”是类似于数组的数据结构,可存储字符串、数值、对象和其他值。与数组不同的是,集合可以根据所获得或存储的项目自动伸缩。随着集合发生变化,项目的位置也将变动。要访问集合中的项目,可以通过项目惟一的关键字或项目在集合中的索引(位置)来实现。
Write方法
zzzzWrite 方法是Response对象最常用的方法,它可以把数据信息从服务器端发送到客户端,在客户端动态地显示信息。Write方法的基本语法为:
zzzzResponse.Write string
zzzz参数string 可以是字符串或变量,其中数据或变量可以是任意数据类型。如果string参数是一个字符串时,一定要把它放在“"”中。
zzzz【例5-1】
zzzz<html>
zzzz<head>
zzzz<title> Response.Write 使用方法示例</title>
zzzz</head>
zzzz<body>
zzzz<%
zzzzDim user_name
zzzzuser_name="小明" '正常运行时,服务器应从客户端获取user_name的值
zzzzResponse.Write "早上好!" '输出一个字符串
zzzzResponse.Write "今天是:" & Date() 'Date()是日期函数,&是字符串连接符
zzzzResponse.Write "欢迎你:" & user_name 'use_name 是一个变量
zzzz%>
zzzz</body>
zzzz</html>
Write方法还有一种简化方式,语法如下:
zzzz<%=string%>
zzzz例如:
zzzz<%="今天是:" & Date()%>
zzzz<% =user_name %>
zzzz这种简化方式的输出和使用response.write输出的效果是一样的,只是在使用时要注意, 简化方式必须在每一个输出的变量数据或字符串的两端加<%和%> 。
zzzz在开发ASP程序过程中经常需要将VBScript脚本与HTML标记混合使用。如上例5-1,运行结果中三句话显示在一行中,显得很乱。若想让这三句分行显示,则应在该程序中加上HTML的换行标记。在VBScript脚本中使用HTML标记的方法如下例所示:
zzzz【例 5-2】
zzzz<%
zzzzResponse.Write "早上好!" &"<br>" ' <br>是HTML标记,在嵌入HTML的
'VBScript脚本中引用时两端要加 “"”。
zzzzResponse.Write "今天是:" & Date() &"<br>"
zzzzResponse.Write "欢迎你:" & user_name &"<br>"
zzzz%>