第4章ASPNET常用内置对象

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4.1.3 Page对象的Load事件与Init事件比较
【演练4-2】 设计一个网站,向Web窗体中添加 两个列表框控件ListBox1和ListBox2,添加一个按钮控件 Button1。在Page对象的Load事件和Init事件中分别向 ListBox1和ListBox2中填充若干数字作为选项。按钮控件无 须编写任何代码,只是要在用户单击按钮时引起一个服务 器端回发。
Response.Redirect("")
使用Response对象的Redirect方法时应注意如下问题:
① 使用该方法实现跳转时,浏览器地址栏中将显示目标URL。
② 执行该方法时,重定向操作发生在客户端,涉及两个不同页面,甚 至是两个Web服务器之间的通信,第一阶段是对原页面的请求,第二 阶段是对目标URL的请求。
③ 该方法执行后内部控件保存的所有信息将丢失,因此当从A页面跳 转到B页面后,在页面B中无法访问A页面提交的数据。若需从A页面 传递数据到B页面,只能通过url参数中的“?”来实现。例如:
string MyName = UserName.Text; 入变量
//将文本框中的文本存
//将变量值以Name为形参变量(也称为“查询字符串”)传送给目 标页面welcome.aspx
下列语句向浏览器写入包含有脚本的超链接文字信息,当 用户单击该超链接时可实现无确认直接关闭当前窗口:
Response.Write("<a href='javascript:window.opener=null;window.close()'>关闭窗口 </a>");
3. 使用WriteFile方法
务器时间 //向浏览器写入带有超链接的文字信息 Response.Write("<a href=''>访问网易</a><br><br>"); //向浏览器输出带有双引号的文字信息,输出为:"Welcome to my home."
Response.Write("\"" + "Welcome to my home." + "\"<br><br>");
1. 使用Write方法输出信息
Write方法的语法格式如下:
Response.Write(string);
其中,参数string表示希望输出到HTML流的字符串,string 不但可以是字符串常量或变量,也可以包含用于修饰输出 信息的HTML标记或脚本。如果希望在字符串常量中包含 英文双引号("),则应使用C#转义符“\"”。
}
2. Page对象的常用方法和事件 Page对象的常用方法见表4-2。
Page对象的常用事件见表4-3。
4.1.2 Web页面的生命周期 Web页面的生命周期及各阶段执行的内容如下。 ① 初始化 ② 加载视图状态 ③ 处理回发数据 ④ 加载 ⑤ 预呈现 ⑥ 保存状态 ⑦ 呈现 ⑧ 处置 ⑨ 卸载

Response.Redirect("welcome.aspx?Name=" + MyName);
目标页面被打开后,可以使用Request对象的QueryString属性读取上一 页传递来的数据。Request对象及QueryString属性将在后面进行详细介 绍。
4.3 Request对象
Request对象是中常用对象之一,主要用于获得客 户端浏览器的信息。例如,使用QueryString属性可以接收 用户通过URL地址中“?”传递给服务器的数据;使用 Request对象的UserHostAddress属性可以得到用户的IP地址 ;使用Browser属性集合中的成员可以读取客户端浏览器的 各种信息(如:用户使用的浏览器名称及版本、客户机使 用的操作系统、是否支持HTML框架、是否支持Cookie等 );使用Form属性可以处理HTML表单。
4.2.1 Response对象的常用属性和方法
Response对象常用的属性见表4-4。
Response对象的常用方法见表4-5。
4.2.2 使用Response对象输出信息到客户端
在编写应用程序代码时经常会用到Response对象 ,其中最常用的应用之一就是使用Response对象的Write() 方法或WriteFile()方法,将信息写入HTML流,并显示到客 户端浏览器。
使用Response对象的WriteFile方法可以将指定的文件内容直 接写入HTML输出流。其语法格式如下:
Response.Write);
其中,参数用于说明文件的名称及路径。
在使用WriteFile方法将文件写入HTML流之前,应使用 Response对象的ContentType属性说明文件的类型或标准 MIME类型。该属性值是一个字符串,通常以如下格式表 示:
4.3.1 Request对象的常用属性和方法 Request对象的常用属性见表4-6。
Request对象的常用方法有两个。
① MapPath(VirtualPath):该方法将当前请求的URL中的虚 拟路径VirtualPath映射到服务器上的物理路径。参数 VirtualPath用于指定当前请求的虚拟路径(可以是绝对路 径,也可以是相对路径)。返回值为与VirtualPath对应的 服务器端物理路径。
,允许用户在客户端打开或保存站点根文件夹下data文件 夹中的“1.xls”文件,代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
Response.ContentType = "application/vnd.ms-excel"; 置文件类型
Page对象是由System.Web.UI命名空间中的Page类来实现的 。Page类与网页文件(.aspx)相关联。 网页也称为“Web窗体”或“Web页面”,这些文件在运 行时被编译成Page对象,并缓存在服务器中。
4.1.1 Page对象的常用属性、方法和事件 1. Page对象的属性 Page对象提供的常用属性见表4-1。
【演练4-1】 下列代码实现了在页面首次加载时,填充列 表框ListBox1中的各选项,而回发刷新时不重复加载。
protected void Page_Load(object sender, EventArgs e)
{ Button1.Text = "引起回发"; //设置按钮控件上显示的文本 if (!IsPostBack) //如果页面的加载不是回发引起的,则执 行下列代码
//设
//设置文件内容编码
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.Write("~/data/1.xls")); //输出Microsoft Excel文件
}
4.2.3 使用Redirect方法实现页面跳转 Response对象的Redirect方法用于将客户端重定向到新的
Response.ContentType = "text/html";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.WriteFile("1.txt");
此外,WriteFile方法常用于提供文件下载的应用中。例如 ,当用户单击页面中按钮控件时弹出“文件下载”对话框
如果将代码中对IsPostBack属性的判断语句去掉,再次运 行程序时将看到如图4-2所示的错误结果。代码如下:
protected void Page_Load(object sender, EventArgs e)
{ Button1.Text = "引起回发"; //设置按钮控件上显示的文本 ListBox1.Items.Add("教务处"); //只要页面加载就填充列表 框中的选项 ListBox1.Items.Add("学生处"); ListBox1.Items.Add("财务处");
0第4章aspnet常用内置对象文档格式
第4章 常用内 置对象
本章内容:常用内置对象,包括Page、Response,Request、Server 对象等。 本章重点:Page、Response、Request和Server对象的使用。
第4章ASPNET常用内置对象
4.1 Page对象
4.2 Response对象
Response对象是从System.Web命名空间中的HttpResponse类 中派生出来的。当用户访问应用程序时,系统会根据用户 的请求信息创建一个Response对象,该对象被用于回应客 户浏览器,告诉浏览器回应内容的报头、服务器端的状态 信息以及输出指定的内容等。
类型/子类型
常用的类型及子类型包括:text/html(默认值)、 image/gif、image/jpeg、application/msword、 application/vnd.ms-excel和application/vnd.ms-powerpoint等。
例如,希望将一个保存在服务器端根站点下的文本文件 “1.txt”的内容输出到客户端浏览器中,可使用如下代码 :
【演练4-3】 Response.Write()方法的使用示例,如图4-5所示。 //向浏览器输出带有HTML标记的字符串常量,<br>标记表示换行 Response.Write("<font face=黑体 size=5 color=blue>欢迎访问我的站点
</font><br><br>"); //向浏览器输出变量的值 Response.Write(DateTime.Now.ToLongTimeString()+"<br><br>");//显示服
② SaveAs(, includeHeaders):该方法将客户端的HTTP请求 保存到磁盘中。参数用于指定文件在服务器中保存的位置 ;布尔型参数includeHeaders用于指示是否同时保存HTTP 头。
URL,实现页面间的跳转。该方法的语法格式如下:
Response.Redirect(url [,endResponse]) 其中,字符串参数url表示新的目标URL地址,可选布尔参
数endResponse表示是否终止当前页的执行。 例istBox1.Items.Add("教务处"); //填充列表框中的选项 ListBox1.Items.Add("学生处"); ListBox1.Items.Add("财务处");
}
}
如图4-1所示,用户单击页面中“引起回发”按钮时,会因 回发而导致页面刷新(再次执行Page_Load事件处理程序 ),但列表框中的选项仍可正常显示。
切换到代码编辑窗口,编写Page_Load和Page_Init事件代码 如下:
protected void Page_Init(object sender, EventArgs e) {
for (int i = 1; i < 4; i++) {
ListBox1.Items.Add(i.ToString()); } } protected void Page_Load(object sender, EventArgs e) { for(int i=1;i<4;i++) {
2. 使用Write方法向客户端输出脚本
任何一个脚本都可以被认为是一组字符串,可以通过Write 方法将其发送到客户端浏览器中执行。 例如,下列语句向 浏览器写入脚本,使之弹出一个如图4-6所示的信息框:
Response.Write("<script language=javascript>alert('操作成功! ');</script>");
ListBox2.Items .Add (i.ToString()); } }
运行程序页面初次加载后,如图4-3所示,ListBox1和 ListBox2两个列表框中填充的数据完全相同。但是,单击 按钮引起回发后可以看到,在Page_Load事件中填充的 ListBox2控件的选项出现了重复,如图4-4所示。
相关文档
最新文档