




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章 ASP.NET的内置对象,本章学习目标 Page对象 Response对象 Request对象 Server对象 Application对象与Session对象,第4章 ASP.NET的内置对象,4.1 Page对象 4.2 Response对象 4.3 Request对象 4.4 Server对象 4.5 访问服务器端文件系统 4.6 Application与Session对象,4.1 Page对象,Page对象对应于.aspx文件。ASP.NET网页(即.aspx)在执行时将自动生成Page对象,此对象无需特别指定名称,其保留名称为Page。 Page对象的主要用途是: 提供网页开始或已经下载后自动触发的事件,供程序设计者编写事件处理程序。 提取浏览器提交的内容,或者输出信息给浏览器。 设定是否保持Web Form中各控件最近的状态。 进行与数据绑定有关的操作。,4.1 Page对象,4.1.1 Page对象的常用属性 在编程实践中,经常用到的Page对象的属性如下: IsPostBack:获取布尔值。若IsPostBack的值为True,则表示当前网页 是由于客户端返回数据而加载的。 IsValid:获取布尔值。若IsValid的值为True,则意味着网页上的验证 控件全部验证成功,否则表示至少有一个验证控件验证失败。 EnableViewState:设置是否启用Web Form的状态保持功能,该属性 的默认值为Ture。 4.1.2 Page对象的常用事件 在ASP.NET网页开始载入到被完全写入浏览器的过程中,产生的与Page对象有关的主要事件有Init、Load和UnLoad 3个。触发顺序如图所示。,4.1 Page对象,下面的例子展示了Init事件的特征。 如果将产生3个单选按钮的代码块移入Load事件过程,则运行结果将如图所示。,4.2 Response对象,Response对象主要用于生成HTML内容并送交浏览器。 4.2.1 Response对象的属性 4.2.2 Response对象常用方法 4.2.3 Response对象典型应用举例,4.2.1 Response对象的属性,Response对象主要用于生成HTML内容并送交浏览器。 在编程实践中,经常用到Response对象的下列属性: BufferOutput:给出或设置是否启用缓冲处理。当Response.BufferOutput为True时,服务器将先完成对所有Response的处理,然后才将结果发送至浏览器。 Charset:给出或设置字符编码方式。 ContextType:给出或设置输出的HTTP内容类型。默认为text/HTML,若要输出GIF图片,可设置为image/GIF。 IsClientConnected:用于判断客户端是否仍然与服务器连接。,4.2.2 Response对象常用方法,在编程实践中,经常用到Response对象的下列方法: ClearContext():清除所有存放在缓冲区中尚未发送到客户端的输出。 Close():关闭与客户端的连接。 End():结束执行ASP.NET网页,然后将缓冲区中的所有输出发送到客户端。 Flush():将缓冲区中的所有输出发送到客户端,然后清空缓冲区。 Redirect(URL):将浏览器重定向到地址为URL的网页。 WriteFile(filename):将指定的文件写入HTML文档。 Write(字符串表达式):将字符串表达式写入HTML文档。,4.2.3 Response对象典型应用举例,1生成HTML文档内容 在ASP网页中,利用Response对象将信息回送浏览器的代码是十分常见的。在ASP.NET网页中,同样可以利用这种方法将信息写入浏览器。 下面是一个利用Response.Write()方法生成ASP.NET网页的例子,其运行结果如图所示。 e:WebSite1ch04ASP.NET的内置对象Prac04-04.aspx,4.2.3 Response对象典型应用举例,2将特定文件的内容写入HTML文档 当需要将大量信息写入浏览器时,可先将这些内容写入一个文本文件,然后再利用Response.WriteFile()方法实现写入。 下面是一个将特定文件的内容写入HTML文档的例子,其运行结果如图所示。 e:WebSite1ch04ASP.NET的内置对象Prac04-05.aspx,4.2.3 Response对象典型应用举例,3从当前网页转向其他网页 当需要根据某个或某些条件转向特定的网页时,可使用Response对象的Redirect()方法。e:WebSite1ch04ASP.NET的内置对象Prac04-06.aspx 在下面的例子中,包含了一个根据日序号的奇偶性转向不同网页的机制,其运行结果如图所示。 4结束程序运行e:WebSite1ch04ASP.NET的内置对象Prac04-07.aspx Response对象的End()用于结束程序运行。下面是一个利用该方法实现限时开放网站的例子,其运行结果如图所示。,4.2.3 Response对象典型应用举例,5在客户端磁盘中写入文件以存储某些信息 可以利用Response对象将一些简单的信息以Cookie文件的形式存入客户端,以备使用。不同的客户端操作系统,Cookie文件的保存位置不同 。 当浏览器请求某一网页时,Cookie中的信息将被自动发往服务器端,服务器可提取Cookie中的信息。此外,需要指出的是,Cookie是基于服务器的,即A服务器不能读取由B服务器生成的Cookie。 默认的情况下,Cookie只存在客户端与服务器会话的期间内;如果有需要的话,可以任意设置Cookie的生存期。 如果浏览者禁止服务器将Cookie写入本地计算机,或者将已经存在于本地的Cookie删除,则基于Cookie的应用程序将可能不能正常运行。就Cookie容量而言,一般浏览器都将Cookie的大小限制为4098B。 下面是一个利用Cookie将信息存入客户端的例子。,4.3 Request对象,基本上,可以将Request与Response视为一对对象。Request对象主要用于获取来自客户端的数据,如用户填入表单的数据、保存在客户端的Cookie等。 在ASP网页中,Request最重要的用途是以Request(“表单域名称”)的格式获取用户在表单中输入的数据。在ASP.NET网页中,允许用户直接访问服务器控件的属性,因此,方式Request的使用日见减少。 1获取地址、路径和文件名等信息 下面的代码可提供客户端IP地址、服务器端当前文件的Url及路径等信息,其运行结果如图所示。 e:WebSite1ch04ASP.NET的内置对象prac04-09.aspx,4.3 Request对象,2获取服务器端环境变量 服务器端环境变量可提供服务器与客户端的许多重要参数。获取服务器端环境变量当前值如图所示。e:WebSite1ch04ASP.NET的内置对象prac04-10.aspx,4.3 Request对象,3获取客户端浏览器信息 Request对象的Browser属性可以获取HttpBrowserCapabilities对象,该对象中包含有浏览器信息。e:WebSite1ch04ASP.NET的内置对象Prac04-11.aspx 下面是一个利用Request.Browser获取浏览器信息的例子,其运行结果如图所示。,4.3 Request对象,4读取客户端Cookie文件 前面已经提到过,可利用Response对象将一些简单的信息以Cookie文件的形式存入客户端。当服务器需要提取存放在客户端Cookie中的数据时,就必须使用Request对象。 下面是一个利用Request对象读取Cookie信息的例子,其运行结果大致如图所示。,4.4 Server对象,Server对象所提供的是服务器方的基本属性和方法。 4.4.1 Server对象的常用属性 在编程实践中,经常用到的Server对象的属性如下: MachineName:获取服务器计算机名称。 ScriptTimeOut:指定Script的超时时间。 4.4.2 Server对象的常用方法 在编程实践中,经常用到的Server对象的方法如下: HtmlEncode():对字符串进行HTML编码,以免该字符串被解释为HTML语法。 HtmlDecode():HtmlEncode()方法的逆运算。 UrlEncode():对字符串进行Url编码,将其转换为特殊的字符串。当Url中存在会使系统错误解读的字符时,应使此方法。 UrlDecode():HtmlEncode()方法的逆运算。 UrlPathEncode():只对Url字符串中的路径部分进行Url编码。 MapPath():将虚拟路径转换为实际路径。 Execute():执行另一个ASP.NET网页,执行完成后返回原来的网页继续执行。该方法提供了与函数调用类似的功能。 Transfer():终止当前网页,执行新的网页(即实现重定向)。,4.4 Server对象,4.4.3 Server对象典型应用举例 1调用指定的ASP.NET网页 下面是一个利用Execute()方法调用ASP.NET网页的例子,其运行结果如图所示。e:WebSite1ch04ASP.NET的内置对象Prac04-13.aspx 2重定向到其他网页 在ASP.NET中,Response.Redirect()和Server.Transfer()都能实现网页重定向。这两个方法的区别在于: 利用Response.Redirect(),可重定向到已存在的任何网页;而Server.Transfer()只能用于重定向到已存在的位于同一目录或同一目录之下的目录中的ASP.NET网页。 利用Response.Redirect()完成重定向后,浏览器地址栏将显示新网页的URL,而利用Server.Transfer()完成重定向后,浏览器地址栏仍然显示旧网页的URL。 利用Server.Transfer()完成重定向后,原网页中所有内置对象的值仍保留;而利用Response.Redirect()完成重定向后,原网页中所有内置对象的值将被改写。 就重定向速度而言,Server.Transfer()优于Response.Direct()。,4.4 Server对象,下面是一个分别利用Response.Redirect()或Server.Transfer()两种方法实现重定向的例子,其运行结果如图所示。e:WebSite1ch04ASP.NET的内置对象Prac04-14.aspx 3对字符串进行编码 当需要在浏览器中显示HTML源码时,应对这些源码用Server.HtmlEncode()方法进行编码,以免浏览器解释其中的格式标记。 一个展示Server.HtmlEncode()的用途的例子,其运行结果如图所示。,4.4 Server对象,当向服务器方发送URL参数时,如果数据中含有汉字或特殊字符(如“&”等),则应对URL参数进行编码,以免造成错误。 下面是一个展示Server.UrlEncode()用途的例子,其运行结果如图所示。e:WebSite1ch04ASP.NET的内置对象Prac04-15.aspx 4获取与虚拟路径或相对路径对应的实际路径 在对服务器端的文件、文件夹及数据库进行操作时,有时必须给出其实际路径。因此,将虚拟路径转换为实际路径是一个十分实用的功能。 下面是一个利用Server.MapPath()实现路径形式转换的例子,其运行结果如图所示。 e:WebSite1ch04ASP.NET的内置对象Prac04-16.aspx,4.5 访问服务器端文件系统,ASP.NET允许用户全面访问位于服务器端的文件系统。通过编程,不仅可对文件系统的结构进行编辑,还可以建立新的文件,或更改已存在文件的内容,即在文件内容的层次上操作文件。 在编程实践中,对文件系统结构进行的操作比较常用,而在文件内容的层次上操作文件则十分罕见。 1访问服务器端目录信息 2访问服务器端文件信息,4.5 访问服务器端文件系统,1访问服务器端目录信息 用于对服务器端目录进行操作的常用方法如下: Directory.CreateDirectory(Path):按照参数Path给定的路径创建目录。 Directory.Delete(Path,recursive):删除参数Path给出目录。 Directory.Exists(Path):该方法返回一个布尔值,代表参数Path所指定的目录是否存在。 Directory.GetCreationTime(Path):返回DateTime型数据,代表参数Path所指定的目录或文件的创建日期和时间。 Directory.GetCurrentDirectory():返回值为字符串,给出ASP.NET程序所在的工作目录。 Directory.GetDirectoryRoot(Path):给出参数Path所指定目录的根目录。 Directory.GetFileSystemEntries(Path,searchPattern):返回值为字符串数组,给出参数Path所指定的目录中子目录及文件的完整路径及名称。 Directory.GetDirectories(Path,searchPattern):返回值为字符串数组,给出参数Path所指定的目录中子目录的完整路径及目录名称。 Directory.GetFiles(path,searchPattern):返回值为字符串数组,给出参数Path所指定的目录中文件的完整路径及文件名称。,4.5 访问服务器端文件系统,Directory.GetLogicalDrivers():获取计算机上的逻辑驱动器名称,返回值为字符串数组。 Directory.GetLastAccessTime(path):给出参数path指定的目录或文件最后一次被访问的日期和时间,返回值为DataTime类型。 Directory.GetLastWriteTime(path):获取参数path指定的目录或文件最后一次被写入的日期和时间,返回值为DataTime类型。 Directory.Move(sourceDirNmae,destDirName):将参数sourceDirName指定的源目录或文件移动至参数destDirName指定的目标位置,移动后的目录名称或文件名称可以和源目录或源文件不同。只能在同一逻辑磁盘内移动目录或文件。 Directory.SetCreationTime(path,creationTime):将参数path指定的目录或文件设置为新的创建日期creationTime。 Directory.SetCurrentDirectory(path):将ASP.NET程序的工作目录设置为参数path给出的目录。 Directory.SetLastAccessTime(path,lastAccessTime):将参数path指定的目录或文件设置为最后一次访问时间lastAccessTime。 Directory.SetLastWriteTime(path,lastWriteTime):将参数path指定的目录夹或文件设置为最后一次写入时间lastWriteTime。,4.5 访问服务器端文件系统,下面是一个利用上述部分方法提取服务器端文件系统信息的例子,其运行结果如图所示。,4.5 访问服务器端文件系统,2访问服务器端文件信息 用于对服务器端文件进行操作的常用方法如下: File.Copy(sourceFileName,destFileName,overwrite):复制由参数sourceFileName指定的文件,生成新文件,新文件的路径及名称为destFileName。 File.Delete(path):删除由参数path指定的文件。 File.Exists(path):该方法返回一个布尔值,代表参数path所指定的文件是否存在。 File.GetAttributes(path):获取由参数path指定的文件或目录的属性。 File.GetCreationTime(path):获取由参数path指定的文件或文件夹的创建时间,返回值为dataTime类型。 File.GetLastAccessTime(path):获取由参数path指定的文件或文件夹最后一次被访问的日期和时间,返回值为DataTime类型。 File.GetLastWriteTime(path):获取参数path指定的文件或文件夹最后一次被写入的日期和时间,返回值为DataTime类型。 File.Move(sourceFilename,destFileName):将参数sourceFileName指定的源文件移动至参数destFileName指定的位置,移动后文件名称可以和源文件不同。,4.5 访问服务器端文件系统,File.SetCreationTime(path,creationTime):将由参数path指定的文件设置为创建时间creationTime File.SetLastAccessTime(path,lastAccessTime):将由参数path指定的文件设置为最后一次访问时间lastAccessTime。 File.SetLastWriteTime(path,lastWriteTime):将由参数path指定的文件设置为最后一次写入时间lastWriteTime。 ASP.NET访问服务器端文件信息的功能十分强大,下面是一个浏览特定目录下所有文件(包括子目录中的文件)信息的代码,其运行结果如图所示。,4.6 Application与Session对象,4.6.1 Application对象 4.6.2 Session对象,4.6.1 Application对象,Web站点事实上是一个多用户的应用程序。可以把Application对象视为公共场所中的公告牌,任何一个用户写入其中的信息都可以被其他用户看到。 从技术的层面上看,网站中所有的ASP.NET程序构成了一个Web应用系统。该系统的默认生命期,始于Web站点开始运行时,终于站点停止运行时(注意,Web应用系统被第一个浏览者激活后,其生存时间与有无浏览者在线并无直接关系)。在此期间,任何一个访问者都可以读取或改写Applicaton对象中的内容。 第一个用户访问网站时,将触发Application对象的OnStart事件,而站点服务终止时,将触发Application对象的OnEnd事件。 在ASP.NET中,上述两个事件的处理程序应放置在名为Global.asax中。该文件一般放在站点的主目录中。 在Application对象的OnStart事件的处理程序中,通常用Add方法来添加Application变量。 在Application对象的OnEnd事件的处理程序中,通常进行释放Application变量的操作。,4.6.1 Application对象,下面是一个利用Application对象实现访客计数器的例子,其运行结果如图所示。 当网站正常运行时,上述网站计数器是可以正常工作的。但是一旦网站由于某种原因而重新启动,则网站计数器被自动清零。为了能在网站关闭期间保留计数器中已有数值,可考虑随时将计数值写入数据库或文本文件。 在下面的程序中,放弃了使用Application变量,而是将计数值保存在一个文本文件中。该值可以被进入网站的任何一个用户改写,其运行结果如图所示。,4.6.2 Session对象,Session对象也是用于记录信息的。但与Application对象不同的是,Session对象为某一用户私有。这意味着,在线的用户A不能访问同时在线的用户B的Seesion对象。 Session对象也有其生存期。在默认的情况下,如果浏览器在20分钟内没有再访问网站中的任何网页,则该网站为其建立的Session对象将自动释放。 在编程实践中,Session对象通常用来在不同的ASP.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 提升学习成效的教育心理学策略研究
- 电子级化学品项目投资可行性研究分析报告(2024-2030版)
- 2025年中国水产饲料诱食剂市场深度评估及投资方向研究报告
- 基于教育创新的装配式建筑设计策略研究
- 中国便携式pos机行业未来趋势预测分析及投资规划研究建议报告
- 2025年中国空气干燥器修理包行业市场发展前景及发展趋势与投资战略研究报告
- 中国农业机械租赁行业市场运行现状及投资战略研究报告
- 2025年中国离心玻璃棉行业市场发展监测及投资潜力预测报告
- 中国冷藏汽车行业市场深度分析及发展前景预测报告
- 教育心理学的实践探索孩子的创新潜能激发方法
- 生产工单结单管理制度
- 2025年陕西、山西、青海、宁夏高考物理试卷真题(含答案解析)
- 2025年全国统一高考数学试卷(全国一卷)含答案
- 2024年江西省中考生物·地理合卷试卷真题(含答案)
- 车间安全环保培训知识
- 真空系统设计培训课件
- (高清版)《城镇供水管网漏水探测技术规程 CJJ159-2011》
- 工区施工监测监测点保护管理办法
- 黄自元楷书间架结构九十二法
- 泊船瓜洲集体备课
- 汉防己甲素注射液在肿瘤、矽肺、肝炎等临床治疗中使用指南
评论
0/150
提交评论