asp.net 之 Response

主要知识点

Label等控件可以向客户端输出信息,Response对象也可以向客户端输出信息。但在ASP.NET中更提倡利用控件输出信息,只是Response对象有一些特殊的功能,如重定向等。

1.Response对象简介

Response对象的作用:向浏览器输出信息。

Response对象对应的ASP.NET类(HttpResponse类)

Response对象的方法

方法

说明

Write

Response对象中最常用的方法,用来送出信息给客户端

Redirect

引导客户端浏览器至新的Web页面

BinaryWrite

输出二进制信息,它不进行任何字符转换,直接输出。

例如:从数据库中显示图片的信息就要用到该方法。

Clear

清除在缓冲区的所有HTML页面

语法:Response.Clear

此时,Response对象的Buffer属性必须被设置为True,否则会报错

End

终止处理ASP.NET程序,并返回当时的状况

Flush

立刻送出缓冲区的HTML数据

语法:Response.Flush

此时,Response对象的Buffer属性必须被设置为True,否则会报错

Response对象的属性:

属性

说明

Buffer

设置为缓冲信息。取值为True或False,默认为True

语法:Response.Buffer=True | False

ContentType

控制送出的文件类型

2.Response对象常用的方法

(1)利用Write方法输出信息

利用该方法就可以在客户端输出信息,效果和利用Label标签控件一样。语法为:

Response.Write(变量数据或字符串)

例如:

protected void Page_Load(object sender, EventArgs e)

{

string user_nanme;

user_nanme = "张三";

Response.Write(user_nanme+"您好!");

}

其中:user_name为一个变量,表示用户名

clip_image001再如:

protected void Page_Load(object sender, EventArgs e)

{

Response.Write("ppppp<p>");

Response.Write("现在是:"+DateTime.Now);

}

其中:Now为当前系统日期时间

注意:Response.Write使用尽管简单,但是显示信息位置不像Label控件一样容易控制,所有不提倡这种输出方法。

(2)使用Redirect()方法引导客户端至另一个URL位置

在网页中,可以利用超链接引导客户至另一个页面,但是必须要在客户端单击超链接才行。可是有时希望自动引导(也称重定向)客户至另一个页面,比如:进行网上考试时,当考试时间到时,应自动引导客户端至结束界面。使用Redirect方法就可以引导客户至另一个页面。语法如下:

Response.Redirect(网址变量或字符串)

例如:

Response.Redirect("http://www.edu.cn"); //引导至中国教育网

再如:根据不同的用户类型引导至相应的页面

HTML页面:

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>无标题页</title>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:Label ID="lbl_usertype" runat="server" Text="用户类型"></asp:Label>

<br />

<asp:DropDownList ID="ddl_usertype" runat="server"

onselectedindexchanged="ddl_usertype_SelectedIndexChanged" AutoPostBack="true">

<asp:ListItem></asp:ListItem>

<asp:ListItem>教师</asp:ListItem>

<asp:ListItem>学生</asp:ListItem>

</asp:DropDownList>

</div>

</form>

</body>

</html>

后台代码:

protected void ddl_usertype_SelectedIndexChanged(object sender, EventArgs e)

{

if (ddl_usertype.SelectedItem.Value == "教师")

{

Response.Redirect("teacher.aspx"); //引导至站内其他页面

}

else if (ddl_usertype.SelectedItem.Value == "学生")

{

Response.Redirect("student.aspx");

}

}

说明:如果要引导至网站内的其他网页,一般使用相对路径。本示例因为处于同一文件夹,所有直接写文件名就可以了。

任务:下来先自己去查找相对路径的资料。

(3)Response.End():停止输出

protected void Page_Load(object sender, EventArgs e)

{

Response.Write("这是第一句");

Response.End(); //停止运行,不再执行任何语句

Response.Write("这是第二句");

}

(4)Response.WriteFile():输出文件

例如:直接输出文件的内容

protected void Page_Load(object sender, EventArgs e)

{

string ss = Server.MapPath(".") + "\\tt.txt";

Response.WriteFile(ss);

}

3.学生上机练习

学生上机练习Response对象的几个方法的使用。(自主练习)

你可能感兴趣的:(response)