首页 理论教育 ASP程序设计:Response对象方法详解

ASP程序设计:Response对象方法详解

时间:2023-11-20 理论教育 版权反馈
【摘要】:Response对象的方法包括AppendToLog、BinaryWrite、Clear、End、Flush、Redirect、Write等。如果未将Response.Buffer 设置为TRUE,则该方法将导致运行时错误。语法如下:4.End 方法Response.End 方法使Web 服务器停止处理脚本并返回当前结果,文件中剩余的内容将不被处理。若其他Response方法提供了所需的功能,建议使用该方法。

ASP程序设计:Response对象方法详解

Response对象的方法包括AppendToLog、BinaryWrite、Clear、End、Flush、Redirect、Write等。

1.Write 方法

Response.Write 是Response 对象最常用的方法,该方法可以向浏览器输出动态信息。语法如下:

只要是ASP 中合法的数据类型,都可以用Response.Write 方式来显示。需注意的是,该值不能包括字符“%>”或“"”,如果需要,可用转义序列“%\>”或重复使用“"”字符来代替。

下面例子将使用Response.Write显示一些不同类型的数据。

例3-7:

运行结果如图3-8所示,由于使用了Randomize 函数,随机数的结果可能不同。

图3-8 产生的随机数

2.Redirect 方法

Response.Redirect 可以用来将客户端的浏览器重定向到一个新的网页,在使用时要注意的是,必须在脚本页面的首行加上<% Response.Buffer=true %>语句,否则脚本在运行时会出错。这主要由于Response.Redirect 方法是立刻生效的,在Response.Redirect 后的脚本语句都不会执行,服务器也就不会将缓存的内容发送到客户端。语法如下:

其中URL是指浏览器重定向到的统一资源定位符。

3.Flush 方法

Response.Flush 方法可以立即发送缓冲区中的数据。如果未将Response.Buffer 设置为TRUE,则该方法将导致运行时错误。语法如下:

4.End 方法

Response.End 方法使Web 服务器停止处理脚本并返回当前结果,文件中剩余的内容将不被处理。如果Response.Buffer已设置为TRUE,则调用Response.End将缓冲输出。语法如下:

5.Clear 方法

Response.Clear 方法删除缓冲区中的所有HTML 输出,但Response.Clear 方法只删除响应正文而不删除响应标题。可以用该方法处理错误情况。需要注意的是,如果未将Response.Buffer设置为TRUE,则该方法将导致运行时错误。语法如下:

(www.xing528.com)

6.BinaryWrite方法

Response.BinaryWrite 方法可以不经任何字符转换就将指定的信息写到HTTP 输出。该方法主要用于写非字符串信息(如客户端应用程序所需的二进制数据等)。语法如下:

7.AppendToLog方法

Response.AppendToLog方法将字符串添加到Web 服务器日志条目的末尾。可以在脚本的同一部分中多次调用该方法。每次调用该方法时,都会在当前条目中添加指定的字符串。由于IIS日志中的字段由逗号分隔,所以该字符串中不能包含逗号“,”,而且字符串最大长度为80 个字符。要主要的是,为使指定的字符串被记录到日志文件中,必须启用站点Extended Logging属性页的URI Query选项,该站点是要登录的活动站点。语法如下:

8.AddHeader 方法

Response.AddHeader 方法用指定的值添加HTML 标题,该方法常常用来响应要添加新的HTTP 标题。它并不替代现有的同名标题。一旦标题被添加,将不能删除。此方法仅供高级用户使用。若其他Response方法提供了所需的功能,建议使用该方法。语法如下:

这里“Name”是表示一个新的HTTP 标题变量名称,而“Value”则表示这个变量的初始值。为避免命名不明确,Name 中不能包含任何下划线字符“_”。同时,由于HTTP 协议要求所有的标题都必须在内容之前发送,所以必须在任何的输出(例如由HTML 或Write 方法生成的输出)发送到客户端之前在脚本中调用AddHeader。

但当Buffer 属性被设置为TRUE 时例外。若输出被缓冲,那么就可以在脚本中的任何地方调用AddHeader 方法,只要它在Flush 之前执行即可。否则,对AddHeader 的调用将产生一个运行错误。

下面用两个ASP 程序对这一点进行了解释。

程序1:

这是一个测试用的文本!

在这个程序中,页没有缓冲。但是,因为在服务器将输出“这是一个测试用的文本!”的文字。发送到客户端之前调用了AddHeader方法,所以脚本能正常工作。如果调换一下顺序,则对AddHeader 方法的调用将产生一个运行时错误。

程序2:

在程序2 中,页被缓冲了,其结果是,直到此页上所有的ASP 脚本执行后或Flush 方法被调用后,服务器才会将输出发送到客户端。带缓冲的输出中对AddHeader 的调用可在脚本的任何地方出现,只要在Flush 调用之前即可。在前面的示例中,若对AddHeader 的调用在对Flush 的调用之后出现,脚本将产生一个运行时错误。输出如下:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈