Response对象
用于响应客户端,是指用户发送请求到服务器端后,服务器端无论是哪种处理结果,最后都必须将结果反馈给用户。
Response
的内置成员
-
Cookies
属性:响应Cookie
的相关信息,需要将已设置好的Cookie
对象赋给该属性 -
Write
方法:将页面内容发送到页面上 -
Rediect
方法:页面重定向 -
AddHeader
方法:向客户端添加头部信息 -
AppendToLog
方法:将自定义的日志信息添加到IIS
的日志文件里面
Write
方法向页面输出数据
使用Write
方法输出的数据可以是字符、字符数组、字符串、对象或文件等。比如想输出一段小诗到页面上,新建一个网站,在对应的.aspx.cs
文件中的Page_Load
方法中写出以下代码:
protected void Page_Load(object sender, EventArgs e)
{
Response_Pt1(); //为了方便起见……写一个方法代替要输出的语句
}
private void Response_Pt1()
{
string[] arr = new string[5];
arr[0] = "天净沙·秋思";
arr[1] = " ——马致远";
arr[2] = "枯藤老树昏鸦,小桥流水人家。";
arr[3] = "古道西风瘦马。";
arr[4] = "夕阳西下,断肠人在天涯。";
for (int i = 0; i < 5; i++)
{
Response.Write(arr[i] + "</br>");
}
}
然后点击运行,在弹出的页面上就可以看到小诗了。代码中 
代表输出一个空格。
如果想让小诗以一个字一个字弹出的效果在页面上输出,可以搭配Response
中的Flush
方法和Thread
中的Sleep
方法实现,其中Flush
方法指的是向客户端发送出当前所有缓冲的输出,Sleep
是将当前的进程挂起多少秒,下面是实现代码:
private void Response_Pt1()
{
string[] arr = new string[5];
arr[0] = "天净沙·秋思";
arr[1] = " ——马致远";
arr[2] = "枯藤老树昏鸦,小桥流水人家。";
arr[3] = "古道西风瘦马。";
arr[4] = "夕阳西下,断肠人在天涯。";
for(int i = 0; i < arr.Length; i++)
{
foreach(char c in arr[i])
{
Response.Write(c);
Response.Flush(); //向客户端发送当前缓冲的输出
Thread.Sleep(100); //将当前进程挂起0.1秒
}
Response.Write("</br>");
}
}
Redirect
页面重定向
当用户浏览一个网站想跳转到另外一个页面的时候,这个过程就叫做页面重定向,例如,将页面重定向到welcome.aspx
页面的时候:
Response.Redirect("~/welcome.aspx");
如果想往这个页面传送参数,那么在.aspx
后面加一个?
,如果是多个参数那么在多个参数中间加个&
间隔就好了,比如:
Response.Redirect("~/welcome.aspx?name=wzq&sex=man");
这个就是往welcome.aspx
页面传递了两个参数name
和sex
,可以通过三种不同的方式获取参数值,在Request
对象里面呢!
这个例子中,在首界面添加一个按钮,如果按钮被点击,传递name
和sex
参数,就跳转到welcome.aspx
页面并在这个页面中输出“欢迎name sex
光临!”
首先在首界面添加一个button
控件,并且给他一个响应事件,代码如下:
protected void btnOK_Click(object sender, EventArgs e)
{
Response.Redirect("~/welcome.aspx?name=wzq&sex=先生");
}
然后在新建的welcome.aspx
页面中的Page_Load
方法中接收这两个参数,并且输出内容到页面上,代码如下:
protected void Page_Load(object sender, EventArgs e)
{
string name = Request.Params["name"];
string sex = Request.Params["sex"];
Response.Write("欢迎" + name + sex + "!");
}
——图片摘自明日科技《零基础学asp.net》,侵删