![ASP.NET从入门到精通(第5版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/771/27111771/b_27111771.jpg)
2.1 Response对象
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P44_13956.jpg?sign=1739058187-zug5AuMeb1LvtrzRAJmFwupl0NZ3KAZI-0-ab0c4936b65258cc116d0b6845832bf5)
视频讲解
2.1.1 Response对象概述
Response对象用于将数据从服务器发送回浏览器。它允许将数据作为请求的结果发送到浏览器中,并提供有关响应的信息;还可以用来在页面中输入数据、在页面中跳转,并传递各个页面的参数。它与HTTP协议的响应消息相对应。
假如将用户请求服务器的过程比喻成客户到柜台买商品的过程,那么在客户描述要购买的商品(如功能、大小、颜色等)后,销售员就会将商品摆在客户的面前,这就相当于Response对象将数据从服务器发送回浏览器。
2.1.2 Response对象的常用属性和方法
Response对象将HTTP响应数据发送到客户端,并包含有关该响应的信息,其常用属性、方法及说明如表2.1和表2.2所示。
表2.1 Response对象的常用属性及说明
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-T44_13965.jpg?sign=1739058187-TnzBYDYgYjChpuDCETJyyx6nWmUnyOZ0-0-6660871d581bf0c1364a49b22809c91d)
表2.2 Response对象的常用方法及说明
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-T44_13967.jpg?sign=1739058187-8dNHsWmHH07q4KwbCXFqoSGbdLuzMRCS-0-8855d8a3fb32e42a11d13daa5e06a992)
2.1.3 在页面中输出数据
Response对象通过Write方法或WriteFile方法在页面上输出数据。输出的对象可以是字符、字符数组、字符串、对象或文件。
【例2.1】在页面中输出数据。(示例位置:资源包\mr\TM\02\01)
下面的示例主要是使用Write方法和WriteFile方法实现在页面上输出数据。在运行程序之前,在F盘上新建一个WriteFile.txt文件,文件内容为Hello World!!! Hello World!!! Hello World!!! Hello World!!!。执行程序,示例运行结果如图2.1所示。
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P45_10781.jpg?sign=1739058187-1zQfHtrEoF0bNWFMn9DZEFFJQ8LWz2OF-0-8ac06160b8ded5f8e192e8afa8d0d877)
图2.1 在页面中输出数据
程序实现的主要步骤如下。
新建一个网站,默认主页为Default.aspx。在Default.aspx的Page_Load事件中先定义4个变量,分别为字符型变量、字符串变量、字符数组变量和Page对象,然后将定义的数据在页面上输出。代码如下:
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P45_86372.jpg?sign=1739058187-AVKgrCjWDT4VpeKhizF9pOOuBHG7m9XX-0-b4562a812cd4b0f95eb5d3586b7cc93d)
注意
应用WriteFile方法输出一个文件时,该文件必须是已经存在的。如果不存在,将产生“未能找到文件”异常。
2.1.4 页面跳转并传递参数
通过Response对象的Redirect方法可以实现页面重定向的功能,并且在重定向到新的URL时可以传递参数。
例如,将页面重定向到welcome.aspx页的代码如下:
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P46_86375.jpg?sign=1739058187-zkzWe4feyIYEVrOliJiBS0FU3KRYcgvu-0-954b4672460bcbeb1cb1c04c514a8a15)
在页面重定向URL时传递参数,使用“?”分隔页面的链接地址和参数,有多个参数时,参数与参数之间使用“&”分隔。
例如,将页面重定向到welcome.aspx页并传递参数的代码如下:
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P46_86376.jpg?sign=1739058187-GYP992eg4L6RnwgOjOwUWqrgJLt6l431-0-8bc89fe907e1637cf3cf4d9863767ec3)
【例2.2】页面跳转并传递参数。(示例位置:mr\TM\02\02)
下面的示例主要通过Response对象的Redirect方法实现页面跳转并传递参数。执行程序,在TextBox文本框中输入姓名,并选择性别,单击“确定”按钮后,跳转到welcome.aspx页,示例运行结果如图2.2和图2.3所示。
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P46_13995.jpg?sign=1739058187-puT1hl6W5YFbUkoBQDxjPTQj4uDd6bRz-0-d6cb50163477a74056d22a22039bd4e2)
图2.2 页面跳转并传递参数
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P46_13996.jpg?sign=1739058187-14a1Xg1xOQOy59MQZRbmrgZMyckmzDDf-0-08fa74c35eb90c4f4e032fa7470d7eb9)
图2.3 重定向的新页
程序实现的主要步骤如下。
(1)新建一个网站,默认主页为Default.aspx,在Default.aspx页面上添加1个TextBox控件、1个Button控件和2个RadioButton控件,它们的属性设置如表2.3所示。
表2.3 Default.aspx页面中控件的属性设置及用途
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-T46_14075.jpg?sign=1739058187-Er3g8TzRXNw1jn48UW1QF3s6Cvgg5gQE-0-cd09b6aa1682103b8b2665325bf66d59)
在“确定”按钮的btnOK_Click事件中实现跳转到页面welcome.aspx并传递参数Name和Sex,代码如下:
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P46_86381.jpg?sign=1739058187-IkWwwnAsuo7WzTdwotABkDkIiel9Pr8L-0-67261d1cf47cbccbb0c7915c9e51798c)
注意
通过URL地址传递多个参数时,应使用“&”符号作为多个参数之间的连接符。
(2)在该网站中添加一个新页,将其命名为welcome.aspx。在页面welcome.aspx的初始化事件中获取Response对象传递过来的参数,并将其输出在页面上。代码如下:
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P47_86385.jpg?sign=1739058187-8CJoOeImAFsHkwvOWw4nYroIuMQqnMjI-0-e59a4f7f84261779ac00cebab1a73047)
2.1.5 输出二进制图像
Response对象不但可以使用Write方法在页面上输出数据、使用WriteFile方法将文件内容在页面上输出,而且还可以使用BinaryWrite方法显示二进制表示的数据,如图像、图片等。
【例2.3】输出二进制图像。(示例位置:mr\TM\02\03)
下面的示例主要通过Response对象的BinaryWrite方法实现输出二进制图像。执行程序,示例运行结果如图2.4所示。
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P47_10978.jpg?sign=1739058187-8JoR8UhXxbw9DVaFy3aZajd0jbwogwMu-0-74a5964a1aaba7ac029b627bb712f071)
图2.4 输出二进制图像
程序实现的主要步骤如下。
新建一个网站,默认主页为Default.aspx。首先引入System.IO命名空间,然后在Default.aspx页面初始化事件中将图片文件读取到文件流中,并将图像以二进制数据的形式输出到页面。代码如下:
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P47_86386.jpg?sign=1739058187-lRk5ttMBozQelnFcyrsxBfcVwjQmFhN3-0-d1178366bfe241cf1305febf1eba2235)
技巧
将Response对象的Write方法与JavaScript脚本语言结合使用。
1. 弹出提示对话框
Response.Write方法主要用来在页面上输出信息。该方法还可以结合JavaScript脚本语言,弹出提示对话框。代码如下:
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P48_90481.jpg?sign=1739058187-m5v9zcWkTxWGe5Rokz74t5WXu8GlRAn3-0-a955e39f255556a63c0e28ac6c6a2cea)
2. 关闭窗口
在ASP.NET中没有提供直接关闭窗口的方法,但是可以使用JavaScript脚本关闭窗口。代码如下:
![](https://epubservercos.yuewen.com/745A13/15477657604593106/epubprivate/OEBPS/Images/Figure-P48_90483.jpg?sign=1739058187-qd4APTzGjyA3mdWLQzO0gOrLPY0BxyG3-0-cdbf559327e55fdeb23f267a1a603277)