主要知识点
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为一个变量,表示用户名
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对象的几个方法的使用。(自主练习)