6.3 Response对象
Response对象派生自HttpResponse类,用来决定何时或如何将输出由服务器端发送到客户端,它封装了Web服务器对客户端请求的响应。
6.3.1 Response对象的属性
要想掌握好Response对象的使用,必须先熟悉它的常用属性。Response的主要属性如表6-4所示。
表6-4 Response对象的常用属性
6.3.2 Response对象的方法
仅仅是了解Response对象的属性还远远不够,Response对象还提供了一些非常实用的方法供我们在编写程序中使用。
(1)Response对象的Redirect方法可以将客户端重定向到新的URL,其语法定义如下所示:
上面的方法中url参数为要重新定向的目标网址,参数endResponse指示当前页的执行是否应终止。
(2)Write方法用于将信息写入HTTP响应输出流,输出到客户端显示,其语法定义如下所示:
从上面的4个方法的参数可以看出,通过Write方法可以把字符数组、字符串、对象,或者一个字符输出显示。
如果把指定的文件直接写入HTTP响应输出流,需要调用WriteFile方法,其语法定义如下所示:
上面代码中参数filename为要写入HTTP输出流的文件名;参数offset为文件中将开始进行写入的字节位置;参数size为要写入输出流的字节数(从开始位置计算);参数fileHandle是要写入HTTP输出流的文件的文件句柄;参数readIntoMemory指示是否把文件写入内存块。
(3)下面是其他几个Response对象的方法定义。
● BinaryWrite:将一个二进制字符串写入HTTP输出流。
● Clear:清除缓冲区流中的所有内容输出。
● ClearContent:清除缓冲区流中的所有内容。
● ClearHeaders:清除缓冲区流中的所有头信息。
● Close:关闭到客户端的套接字连接。
● End:将当前所有缓冲的输出发送到客户端,停止该页的执行,并引发Application_EndRequest事件。
● Flush:向客户端发送当前所有缓冲的输出。Flush方法和End方法都可以将缓冲的内容发送到客户端显示,但是Flush与End的不同之处在于,Flush不停止页面的执行。
6.3.3 Response对象的使用
前面介绍了Response对象的概念以及它的常用方法和属性。这节将结合一个例子来讲解Response对象在实际中的使用,以便使读者能够快速入门。
【实例6-3】Response对象的使用
实现网站的友情链接,单击友情链接可以跳转到相应的网站,可以由多种不同的方法来实现,比如HyperLink控件或ImageMap控件等等。本例使用LinkButton控件通过Response对象的重定向跳转页面功能来完成。
01 启动Visual Studio 2012,创建一个ASP.NET Web空应用程序,命名为“实例6-3”。
02 在“实例6-3”中创建一个名为Default.aspx的窗体。
03 单击网站的目录下的Default.aspx文件,进入“视图编辑”界面,打开“源视图”,在编辑区中<form></form>标记之间编写如下代码:
上面的代码中第4、5、7、10、13、16行各添加了一个服务器链接按钮控件LinkButton,并设置显示的文本和单击事件为Click。
04 单击网站目录下的Default.aspx.cs文件,编写代码如下:
上面的代码中处理了5个LinkButton按钮的单击事件Click,并分别使用Response对象的Redirect方法跳转到相应网站的URL地址。
05 按快捷键Ctrl+F5运行程序,如图6-6所示,单击某一个友情链接,浏览器将显示该网站的首页,如图6-7所示。
图6-6 运行效果1
图6-7 运行效果2